Mekanisme kebenaran


Panggilan ke antara muka terbuka Weibo, seperti menyiarkan di Weibo, mengikuti, dll., semuanya memerlukan pengesahan identiti pengguna. Pada masa ini, platform terbuka Weibo terutamanya menggunakan OAuth2.0 untuk pengesahan identiti pengguna. Di samping itu, untuk memudahkan pembangun membangunkan dan menguji aplikasi mereka sendiri, kami juga menyediakan kaedah pengesahan Pengesahan Asas, tetapi Pengesahan Asas hanya sesuai untuk pembangun yang mempunyai aplikasi untuk memanggil antara muka.


Indeks pantas

  • Tempoh sah kebenaran
  • Pelanjutan tempoh sah kebenaran


OAuth2.0 berbanding 1.0 Keseluruhan proses pengesahan kebenaran adalah lebih mudah daripada Ia lebih selamat dan akan menjadi kaedah pengesahan dan kebenaran pengguna yang paling penting pada masa hadapan.


Untuk proses kebenaran protokol OAuth2.0, anda boleh merujuk kepada carta alir di bawah, di mana Pelanggan merujuk kepada aplikasi pihak ketiga, Pemilik Sumber merujuk kepada pengguna, Pelayan Kebenaran ialah pelayan kebenaran kami dan Pelayan Sumber ialah pelayan API.



Pembangun boleh menyemak imbas dokumen antara muka OAuth2.0 terlebih dahulu untuk membiasakan diri dengan maksud antara muka dan parameter OAuth2.0, dan kemudian kami akan menerangkan cara menggunakan OAuth2.0 mengikut kepada senario aplikasi. Dokumen OAuth2/access_token

Dapatkan Token Akses yang dibenarkan


OAuth2/ get_token_info

Antara muka pertanyaan maklumat kebenaranauth2/Token2/ penggantian untuk Token Akses OAuth1.0 kepada OAuth2.0


Nota

    • 1. Tiada permohonan diperlukan untuk kebenaran OAuth2.0, sebarang permohonan boleh digunakan. Jika pembangun memerlukan tempoh sah kebenaran yang lebih lama, rujuk bahagian tempoh sah kebenaran dokumen ini.
    • 2 Jika anda adalah aplikasi web atau aplikasi pelanggan di luar tapak, atas sebab keselamatan, anda perlu mengisi redirect_url (halaman panggilan balik kebenaran) pada tapak web platform untuk menggunakan OAuth2.0. Aplikasi Saya> Maklumat Permohonan >Maklumat Lanjutan", untuk pelanggan, kami juga menyediakan alamat halaman panggil balik lalai. Sila lihat bahagian fungsi halaman kebenaran untuk butiran. Interforasi Pengguna


Versi baru halaman kebenaran telah mengubah masalah bahawa halaman sebelumnya mempunyai terlalu banyak elemen maklumat dan menyebabkan gangguan kepada pengguna log masuk dan kebenaran telah diubah Dipisahkan dalam versi baharu, pengguna boleh lebih memahami proses log masuk dan kebenaran akaun, dan juga menyediakan ruang untuk lebih banyak fungsi pada masa hadapan.

Pada masa ini, kebenaran paling lengkap dibahagikan kepada tiga langkah: log masuk-keizinan biasa-keizinan lanjutan (SKOP). Tetapi ketiga-tiga langkah ini tidak dapat dielakkan Apabila Weibo pengguna dilog masuk, halaman tersebut akan secara automatik melompat ke halaman kebenaran biasa "Keizinan lanjutan" juga tidak diperlukan Langkau langkah ini dan panggil semula aplikasi. Kami mendapati dalam statistik ujian skala kelabu bahawa selagi kebenaran lanjutan digunakan dengan betul, pembangun tidak perlu risau tentang kadar pecah halaman yang disebabkan oleh peningkatan operasi Sebaliknya, pengalaman kebenaran yang jelas boleh mendapat kepercayaan pengguna dengan lebih baik.

OAuth2_intro.pngPada masa yang sama, item keizinan akan menjadi lebih teratur Keizinan biasa sebelumnya akan digunakan sebagai perkhidmatan asas, dan pengguna tidak lagi menyedarinya mempunyai hak untuk menyenaraikannya satu demi satu apabila membenarkan Batal, meningkatkan lagi kawalan privasi. .



1.PC terminal dan tapak web Web, sila rujuk: Pengesahan dan kebenaran laman web web (Kod Kebenaran)

2 Aplikasi mudah alih boleh terus menggunakan SDK mudah alih rasmi dengan menghubungi klien Weibo (jika klien Weibo tidak dipasang, kebenaran H5 akan dipanggil. Halaman) kebenaran

3. Permohonan ringan H5, sila rujuk panduan pembangunan aplikasi ringan


oauth2v3.png

Keizinan laman web web

. ENT_ID& response_type=code&redirect_uri =YOUR_REGISTERED_REDIRECT_URI


2 Jika pengguna bersetuju untuk memberi kebenaran, halaman tersebut melompat ke YOUR_REGISTERED_REDIRECT_URI/?code=CODEoAuth2_02.gif

untuk Akses

untuk Token

https ://api.weibo .com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE

=YOUR_CLI ENT_ID&client_secret=YOUR_CLIENT_SECRET boleh ditambah pada pengepala menggunakan kaedah asas dan nilai pulangan ialah

JSON
{
    "access_token": "SlAV32hkKG",
    "remind_in": 3600,
    "expires_in": 3600
}
4. Gunakan Token Akses yang diperolehi untuk menghubungi API

Keizinan aplikasi mudah alih

Mudah alih

Mudah alih ke aplikasi Mudah Alih
, adalah disyorkan untuk menggunakan SDK rasmi yang menyokong kebenaran SSO, yang boleh Memudahkan pembangunan proses kebenaran dan mengurangkan kos pembangunan.


Perlu diambil perhatian bahawa untuk aplikasi mudah alih, sila gunakan antara muka kebenaran pada open.weibo.cn API sumber biasa seperti blog dan ulasan masih memanggil antara muka weibo.com.

sdk72207.png

SDK Proses akses

IOS SDK Muat turun dan Muat turun SDK Muat Turun Pengambilalihan Keteri Token_akses yang diperolehi mempunyai masa tamat tempoh, biasanya 30 hari.


Tahap keizinan dan tempoh sah akses_token OAuth2.0 jadual yang sepadan:


  • Tahap kebenaran
  • Tempoh sah
Ujian


🜎

🜎

1 hari 30 hari


Nota:

  • 1. Hanya aplikasi yang belum disemak berada dalam tahap ujian.
  • 2 Apabila pembangun aplikasi membenarkan permohonan, tempoh sah adalah 5 tahun.


Anda boleh menyemak tahap kebenaran aplikasi semasa pada "Aplikasi Saya>Pengurusan Antaramuka>Mekanisme Kebenaran". Anda juga boleh memohon untuk meningkatkan tempoh sah kebenaran di sini.


Pembangun boleh mengira masa sah access_token dalam dua cara:

  • 1 Apabila pengguna memberi kebenaran, nilai expires_in dikembalikan oleh oauth2/access_token antara muka_kepada.🜎; Daripada surat-menyurat di atas Dalam jadual, cari tempoh sah kebenaran yang sepadan dengan masa tamat tempoh = masa kebenaran pengguna + tempoh sah kebenaran
Aplikasi pembangunan pihak ketiga perlu mempunyai tahap keteguhan tertentu antara muka, tentukan nilai pulangan antara muka Jika akses_token pengguna tidak sah, pengguna perlu dibimbing untuk memberi kebenaran semula.


Alasan kegagalan adalah seperti berikut:


1 Pengguna membatalkan kebenaran untuk permohonan
  • 2 permohonan;
  • 4 , Weibo mendapati bahawa akaun pengguna telah dicuri dan membekukan kebenaran pengguna untuk permohonan itu

Pelanjutan tempoh sah kebenaran

tempoh sah

Jika pengguna membuka semula kebenaran dalam tempoh kebenaran kebenaran halaman kebenaran (jika pengguna log masuk ke Weibo pada masa ini, halaman ini akan berkelip), maka Weibo akan memanjangkan kitaran hayat access_token secara automatik untuk pembangun, dan pembangun dikehendaki mengekalkan nilai access_token selepas kebenaran baharu.

. Hanya aplikasi mudah alih boleh mendapatkan Token Segar Semula daripada kaedah SDK.


Token Segar Semula ialah sejenis Geran Akses Apabila mendapatkan Token Akses, pelayan pengesahan akan mengembalikan Token Segar Semula yang sepadan Jika Token Akses tamat tempoh, anda boleh menggunakan Token Segar Semula.

Refresh Token juga mempunyai tempoh sah Tempoh sah Refresh Token pada masa ini adalah 30 hari dan boleh dimuat semula pada bila-bila masa sepanjang tempoh sah.

Tempoh sah Token Akses baharu yang diperoleh melalui Token Segar Semula adalah sama dengan tempoh sah asal, iaitu tempoh sah Token Akses asal ialah 30 hari, dan yang baharu diperoleh juga adalah 30 hari.

Secara ringkasnya, untuk aplikasi mudah alih yang menggunakan Weibo Mobile SDK, kebenaran (Token Akses) sah selama 30 hari dan boleh diperbaharui dalam masa 30 hari Ia akan sah selama 30 hari dari masa muat semula.





1 Apabila anda menggunakan aplikasi mudah alih SDK mudah alih rasmi Weibo, apabila kebenaran mengembalikan access_token, satu refresh_token akan dikembalikan:🜎🜎.

oAuth2_05.gif Gunakan antara muka API untuk memulangkan Token Akses Apabila ia tamat tempoh, anda boleh menghubungi oauth2/access_token dan masukkan refresh_token:

URL

https://api.weibo.com/oauth2? client_id=YOUR_CLIENT_ID&client_sec ret =YOUR_CLIENT_SECRET&grant_type=refresh_token&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&refresh_token=…




JSON

{
"access_token": "SlAV32hkKG",
"expires_in": 3600 . panggil antara muka API:



1 Gunakan parameter secara terus dan lulus parameter bernama access_token
URL
.
https://api.weibo.com/2/statuses/public_timeline.json?access_token=abcd

2 Lulus dalam pengepala, dalam bentuk penambahan OA dalam pengepala abcd, abcd di sini diandaikan sebagai nilai Token Akses, dan parameter antara muka lain boleh dihantar secara normal.


Nota: Semua antara muka platform terbuka Weibo digunakan dalam domain weibo.com dan hanya antara muka kebenaran mudah alih berada dalam domain open.weibo.cn.


Fungsi lain dalam keizinan

Skop

Skop adalah fungsi yang disediakan oleh versi baharu OAuth2.0, halaman kebenaran platform akan Menerusi lebih banyak skop kepada pemaju. sambil mengukuhkan perlindungan privasi pengguna dan menambah baik pengalaman pengguna. Pengguna mempunyai hak untuk memilih fungsi yang diberikan kepada aplikasi dalam halaman kebenaran OAuth2.0 yang baharu.


Skop dokumen antara muka terbuka: Dokumen antara muka


Halaman panggil balik lalai pelanggan

Biasanya Aplikasi Asli Mudah Alih tidak mempunyai alamat panggilan balik pelayan. Anda boleh mengisi platform yang disediakan oleh aplikasi halaman panggil balik kebenaran konsol Halaman panggil balik lalai tidak kelihatan kepada pengguna dan hanya digunakan untuk mendapatkan token akses.


OAuth2.0 halaman panggil balik lalai pelanggan: https://api.weibo.com/oauth2/default.html


Log masuk paksa

Kami akan membaca halaman kebenaran pengguna semasa status Log masuk lalai. Jika anda mahu pengguna log masuk semula, sila masukkan parameter: forcelogin=true apabila memanggil antara muka kebenaran Tidak mengisi parameter ini secara lalai adalah bersamaan dengan forcelogin=false.


Cancellation of Lement Pallback Page

developer boleh mengisi pembatalan halaman Panggilan Kebenaran dalam Konsol Aplikasi. . Dan berikan anda parameter berikut, sumber: appkey aplikasi, uid: pengguna untuk membatalkan kebenaran, auth_end: masa untuk membatalkan kebenaran
🎜


OAuth2.0 sumber berkaitan

SDK berikut mengandungi OAuth2.0 dan antara muka API versi baharu

OAuth2/revokeoauth2
Antara muka kitar semula kebenaran
Muat turun SDK Android Muat turun PHP SDK (dikekalkan oleh SAE)Muat turun SDK FlashMuat turun SDK Flash



Muat turun iOS SDK Muat turun WP7 SDK
Muat turun Java SDKMuat turun Python SDK
Muat turun SDK

Muat turun Javascript

Dokumentasi SDK pembangunan mudah alih dokumentasi SDK Android Dokumentasi K



🎜


Bahan rujukan lain

OAuth ialah kaedah kebenaran yang diterima di peringkat antarabangsa Penerangan teknikal rasmi OAuth2.0 boleh didapati di http://oauth.net/2/


Jika anda masih menggunakan Oauth1. . 0, sila pergi untuk menyemak imbas dokumen berkaitan.


Kod ralat OAuth2.0

Dalam pelaksanaan Weibo OAuth2.0, apabila pelayan kebenaran menerima permintaan kebenaran pengesahan, ia akan menyemak pengepala permintaan dan parameter permintaan permintaan ini mengikut OAuth2.0 protokol. Jika permintaan itu menyalahi undang-undang atau pengesahan gagal, pelayan kebenaran akan mengembalikan mesej ralat yang sepadan, termasuk parameter berikut:

  • ralat: kod ralat
  • error_code: nombor dalaman ralat
  • error_description: maklumat penerangan ralat
  • error_url : URI halaman web yang boleh dibaca manusia dengan maklumat tentang ralat, digunakan untuk memberikan pengguna akhir maklumat tambahan tentang ralat.


Terdapat dua cara untuk mengembalikan maklumat ralat:

1 Ralat berlaku apabila meminta keizinan Endpoint: https://api.weibo.com/2/oauth2/authorize , dan dalam uri Parameter pertanyaan disertakan dengan maklumat perihalan ralat.

2 Ralat berlaku semasa meminta penamatan token akses: https://api.weibo.com/oauth2/access_token Kaedah pengembalian: kembalikan teks JSON. Contohnya:


JSON
{
"error": "unsupported_response_type",
"error_code": 21329,
"error_description": "error_description"
Takrifan kod ralat dalam respons ralat OAuth2.0 adalah seperti yang ditunjukkan dalam jadual berikut:



QQ截图20170210143858.png