Mécanisme d'autorisation


Les appels vers l'interface ouverte de Weibo, tels que la publication sur Weibo, le suivi, etc., nécessitent tous une authentification de l'identité de l'utilisateur. Actuellement, la plateforme ouverte Weibo utilise principalement OAuth2.0 pour l'authentification de l'identité des utilisateurs. De plus, afin de permettre aux développeurs de développer et de tester leurs propres applications, nous proposons également la méthode d'authentification d'identité Basic Auth, mais Basic Auth ne convient qu'au développeur auquel appartient l'application pour appeler l'interface.


Index rapide

  • Période de validité de l'autorisation
  • Extension de la période de validité de l'autorisation


OAuth2.0 par rapport à 1,0 L'ensemble du processus de vérification de l'autorisation est plus simple que Il est plus sécurisé et constituera la méthode d’authentification et d’autorisation des utilisateurs la plus importante à l’avenir.

Pour le processus d'autorisation du protocole OAuth2.0, vous pouvez vous référer à l'organigramme ci-dessous, où Client fait référence à l'application tierce, Propriétaire de ressource fait référence à l'utilisateur, Serveur d'autorisation est notre serveur d'autorisation et Serveur de ressources est le serveur API.



Les développeurs peuvent d'abord parcourir le document d'interface d'OAuth2.0 pour se familiariser avec la signification de l'interface et des paramètres d'OAuth2.0, puis nous expliquerons comment utiliser OAuth2.0 selon aux scénarios d’application. Document d'interface

Obtenez un jeton d'accès autorisé


OAuth2/ get_token_info


Interface de requête d'informations d'autorisation

OAuth2/revokeoauth2
Interface de recyclage d'autorisation
OAuth2/get_oauth2_tokenRemplacement du jeton d'accès pour OAuth1.0 Jeton d'accès à OAuth2.0


Notes

    • 1. Aucune application n'est requise pour l'autorisation OAuth2.0, n'importe quelle application peut être utilisée. Si les développeurs ont besoin d'une période de validité d'autorisation plus longue, reportez-vous à la section sur la période de validité de l'autorisation de ce document.
    • 2. Si vous êtes une application web ou une application client hors site, pour des raisons de sécurité, vous devez remplir la redirect_url (page de rappel d'autorisation) sur le site web de la plateforme pour utiliser OAuth2.0. Remplissez l'adresse : ". Mon application>Informations sur l'application>Informations avancées", pour le client, nous fournissons également une adresse de page de rappel par défaut. Veuillez consulter la section Fonction de la page d'autorisation pour plus de détails.


Interface d'autorisation

OAuth2_intro.png


La nouvelle version de la page d'autorisation a modifié le problème selon lequel la page précédente contenait trop d'éléments d'information et provoquait des interférences avec les utilisateurs. Les paramètres de connexion et d'autorisation ont été modifiés dans la nouvelle version, les utilisateurs peuvent mieux comprendre le processus de connexion et d'autorisation du compte, et également fournir de l'espace pour plus de fonctions à l'avenir.


Actuellement, l'autorisation la plus complète est divisée en trois étapes : connexion-autorisation normale-autorisation avancée (SCOPE). Mais ces trois étapes ne sont pas inévitables. Lorsque le Weibo de l'utilisateur est connecté, la page passe automatiquement à la page d'autorisation ordinaire. Une « autorisation avancée » n'est pas non plus nécessaire. Si le développeur ne demande pas l'autorisation SCOPE, le système le fera automatiquement. Ignorez cette étape et rappelez l'application. Nous avons constaté dans le test en niveaux de gris que tant que l'autorisation avancée est utilisée correctement, les développeurs n'ont pas à se soucier du taux de désabonnement des pages causé par l'augmentation des opérations. Au contraire, une expérience d'autorisation claire peut mieux gagner la confiance des utilisateurs.


Dans le même temps, les éléments d'autorisation deviendront plus organisés. Les autorisations ordinaires précédentes seront utilisées comme services de base, et les utilisateurs n'en auront plus connaissance. Celles liées à la confidentialité des utilisateurs seront classées en autorisations avancées, et les utilisateurs. ont le droit de les détailler un par un lors de l’autorisation d’annulation, améliorant ainsi les contrôles de confidentialité.


oauth2v3.png


Scénarios d'application

Les développeurs doivent choisir le processus d'autorisation OAuth2.0 applicable en fonction de leurs scénarios d'application respectifs :


    • 1.PC terminal et site Web, veuillez vous référer à : Authentification et autorisation du site Web (code d'autorisation)
    • 2. Les applications mobiles peuvent utiliser directement le SDK mobile officiel en appelant le client Weibo (si le client Weibo n'est pas installé, l'autorisation H5 sera appelée. Page) autorisation
    • 3. Application H5 light, veuillez vous référer au guide de développement d'application légère


Autorisation du site Web


oAuth2_02.gif


1. Guidez l'utilisateur qui a besoin d'une autorisation vers l'adresse suivante :

URL

https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID& réponse_type=code&redirect_uri =YOUR_REGISTERED_REDIRECT_URI

2 Si l'utilisateur accepte d'autoriser, la page passe à YOUR_REGISTERED_REDIRECT_URI/?code=CODE

3.

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

où client_id=VOTRE _CLI ENT_ID&client_secret=YOUR_CLIENT_SECRET peut être ajouté à l'en-tête à l'aide de la méthode de base, et la valeur de retour est
JSON
{
    "access_token": "SlAV32hkKG",
    "remind_in": 3600,
    "expires_in": 3600
}

4. Utilisez le jeton d'accès obtenu pour appeler l'API

Autorisation d'application mobile


Application mobile (se réfère principalement à l'application mobile native) , il est recommandé d'utiliser le SDK officiel qui prend en charge l'autorisation SSO, ce qui peut grandement simplifier le développement du processus d'autorisation et réduire les coûts de développement. sdk72207.png

Il convient de noter que pour les applications mobiles, veuillez utiliser l'interface d'autorisation sur open.weibo.cn. Les API de ressources ordinaires telles que les blogs et les commentaires appellent toujours l'interface weibo.com.


Processus d'accès au SDK

Téléchargement du SDK iOS
    Téléchargement du SDK Android
Période de validité de l'autorisation


OAuth2.0 de Plateforme ouverte Weibo Dans le cadre du mécanisme d'autorisation, des tiers Le access_token obtenu a un délai d'expiration, généralement 30 jours.

Tableau correspondant au niveau d'autorisation et à la période de validité du jeton d'accès OAuth2.0 :



Niveau d'autorisation

TestNormalPériode de validité de l'autorisation1 jour 30 jours


Remarque :

  • 1. Seules les candidatures qui n'ont pas été examinées sont au niveau de test.
  • 2. Lorsque le développeur de l'application autorise la demande, la durée de validité est de 5 ans.


Vous pouvez vérifier le niveau d'autorisation de l'application actuelle sur "Mon application>Gestion de l'interface>Mécanisme d'autorisation". Vous pouvez également demander ici une augmentation de la durée de validité de l’autorisation.


Les développeurs peuvent calculer la durée de validité d'access_token de deux manières :

  • 1 Lorsque l'utilisateur autorise, la valeur expires_in renvoyée par l'interface oauth2/access_token est le cycle de vie d'access_token
  • 2. A partir de la correspondance ci-dessus Dans le tableau, retrouvez la durée de validité de l'autorisation correspondant à l'application. Délai d'expiration = durée d'autorisation de l'utilisateur + durée de validité de l'autorisation ;


Les applications de développement tierces doivent avoir un certain degré de robustesse ; interface, déterminez la valeur de retour de l'interface. Si le access_token de l'utilisateur n'est pas valide, l'utilisateur doit être guidé pour réautoriser.


Les raisons de l'échec sont les suivantes :

  • 1. L'utilisateur a annulé l'autorisation de l'application
  • 2 Le jeton d'accès a expiré naturellement
  • 3. application ;
  • 4 , Weibo a découvert que le compte utilisateur a été volé et a gelé l'autorisation de l'utilisateur pour l'application


Prolongation de la période de validité de l'autorisation

Réautorisation pendant la période de validité de l'autorisation

Si l'utilisateur rouvre l'autorisation pendant la période de validité de l'autorisation de la page (si l'utilisateur est connecté à Weibo à ce moment-là, cette page clignotera), alors Weibo prolongera automatiquement le cycle de vie du access_token pour les développeurs, et les développeurs sont tenus de conserver la valeur access_token après une nouvelle autorisation.


Actualisez la période de validité de l'autorisation via Refresh Token

De plus, nous proposons également un moyen de renouveler la période de validité de l'autorisation via Refresh Token, mais il convient de noter que : Uniquement ceux qui utilisent le SDK mobile officiel de Weibo Seules les applications mobiles peuvent obtenir le jeton d'actualisation à partir de la méthode SDK.


Le jeton d'actualisation est un type d'autorisation d'accès. Lors de l'obtention du jeton d'accès, le serveur d'authentification renverra le jeton d'actualisation correspondant. Si le jeton d'accès expire, vous pouvez utiliser le jeton d'actualisation pour le rafraîchir.


Refresh Token a également une période de validité. La période de validité du Refresh Token est actuellement de 30 jours et peut être actualisée à tout moment pendant la période de validité.


La période de validité du nouveau jeton d'accès obtenu via Refresh Token est égale à la période de validité d'origine, c'est-à-dire que la période de validité du jeton d'accès d'origine est de 30 jours et celle du nouveau jeton obtenu est également de 30 jours.


Pour faire simple, pour les applications mobiles qui utilisent le SDK Weibo Mobile, l'autorisation (Access Token) est valable 30 jours et peut être renouvelée dans les 30 jours. Elle sera valable 30 jours à compter de l'heure d'actualisation.


oAuth2_05.gif


1. Lorsque vous utilisez l'application mobile du SDK mobile officiel de Weibo, lorsque l'autorisation renvoie access_token, un rafraîchissement_token supplémentaire sera renvoyé :

JSON
{
    "access_token": "SlAV32hkKG",
    "remind_in": 3600,
    "expires_in": 3600
    "refresh_token": "QXBK19xm62"
}
2、当你调
.

Utilisez l'interface API pour renvoyer le jeton d'accès. Lorsqu'il expire, vous pouvez appeler oauth2/access_token et transmettrefresh_token :


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


Valeur de retour


JSON
{
"access_token": "SlAV32hkKG",
"expires_in": 3600
}

3. Utilisez le jeton d'accès nouvellement obtenu pour appeler l'API


Utilisez OAuth2.0 pour appeler l'API

Il existe deux façons d'utiliser OAuth2.0 pour appelez l'interface API :

1. Utilisez directement les paramètres et transmettez le paramètre nommé access_token

URL
https://api.weibo.com/2/statuses/public_timeline.json?access_token=abcd

2. Passez-le dans l'en-tête, sous la forme d'un ajout d'espace Autorisation : OAuth2. dans l'en-tête abcd, abcd est ici supposé être la valeur du jeton d'accès, et d'autres paramètres d'interface peuvent être transmis normalement.


Remarque : toutes les interfaces de la plateforme ouverte Weibo sont déployées dans le domaine weibo.com, et seule l'interface d'autorisation mobile se trouve dans le domaine open.weibo.cn.


Autres fonctions dans l'autorisation

Scope

Scope est une fonction fournie par la nouvelle version de la page d'autorisation OAuth2.0 Grâce à la portée, la plate-forme ouvrira davantage de fonctions de base de Weibo aux développeurs , tout en renforçant la protection de la vie privée des utilisateurs et en améliorant l'expérience utilisateur, les utilisateurs ont le droit de choisir les fonctions attribuées aux applications dans la nouvelle page d'autorisation OAuth2.0.


Document d'interface ouverte Portée : Document d'interface


Page de rappel par défaut du client

Habituellement, Mobile Native App n'a pas d'adresse de rappel de serveur. Vous pouvez renseigner celle fournie par la plateforme sur l'application. page de rappel d'autorisation de la console. La page de rappel par défaut est invisible pour les utilisateurs et est uniquement utilisée pour obtenir des jetons d'accès.


Page de rappel par défaut du client OAuth2.0 : https://api.weibo.com/oauth2/default.html


Connexion forcée

La page d'autorisation lira le compte WeChat de l'utilisateur actuel en Statut de connexion par défaut. Si vous souhaitez que l'utilisateur se reconnecte, veuillez transmettre le paramètre : forcelogin=true lors de l'appel de l'interface d'autorisation. Ne pas renseigner ce paramètre par défaut équivaut à forcelogin=false.


Page de rappel d'annulation d'autorisation

Les développeurs peuvent remplir la page de rappel d'annulation d'autorisation dans la console de l'application Lorsque l'utilisateur annule l'autorisation de votre application, la plateforme ouverte rappellera l'adresse que vous avez renseignée. . Et vous transmettez les paramètres suivants, source : application appkey, uid : utilisateur pour annuler l'autorisation, auth_end : heure d'annulation de l'autorisation


Ressources liées à OAuth2.0

Le SDK suivant contient OAuth2.0 et une nouvelle interface API de version




Télécharger le SDK Android Télécharger iOS SDK Télécharger le SDK WP7
Télécharger le SDK PHP (maintenu par SAE)Télécharger le SDK JavaTélécharger le SDK Python
Télécharger le SDK FlashTélécharger le SDK JavascriptTélécharger charger le SDK C#


Documentation du SDK de développement mobile




Documentation du SDK AndroidDocumentation du SDK iOSDocumentation du SDK WP7


Autres documents de référence

OAuth est une méthode d'autorisation acceptée au niveau international. La description technique officielle d'OAuth2.0 peut être trouvée sur http://oauth.net/2/


Si vous utilisez toujours Oauth1. . 0, veuillez consulter les documents associés.


Code d'erreur OAuth2.0

Dans l'implémentation Weibo OAuth2.0, lorsque le serveur d'autorisation reçoit une demande d'autorisation de vérification, il vérifiera l'en-tête de la demande et les paramètres de demande de cette demande conformément à OAuth2.0 Si la demande est illégale ou si la vérification échoue, le serveur d'autorisation renverra le message d'erreur correspondant, comprenant les paramètres suivants :

  • error : code d'erreur
  • error_code : numéro interne de l'erreur
  • error_description : informations de description de l'erreur
  • error_url : URI de page Web lisible par l'homme contenant des informations sur l'erreur, utilisé pour fournir à l'utilisateur final des informations supplémentaires sur l'erreur.


Il existe deux façons de renvoyer les informations d'erreur :

1. Une erreur se produit lors de la demande du point de terminaison d'autorisation : https://api.weibo.com/2/oauth2/authorize. La méthode de retour est : passer à redirect_uri. , et en uri Le paramètre de requête est livré avec des informations de description de l'erreur.

2. Une erreur s'est produite lors de la demande de fin de jeton d'accès : https://api.weibo.com/oauth2/access_token Méthode de retour : renvoie le texte JSON. Par exemple :


JSON
{
"error": "unsupported_response_type",
"error_code": 21329,
"error_description": "Unsupported ResponseType ."
}


Les définitions des codes d'erreur dans la réponse d'erreur OAuth2.0 sont présentées dans le tableau suivant :


QQ截图20170210143858.png