Obtention de jetons d’accès à l’aide du flux OAuth en 3 étapes
- Le point de terminaison GET oauth/authorize est utilisé à la place de GET oauth/authenticate.
- L’utilisateur sera toujours invité à autoriser l’accès à votre application, même si l’accès a déjà été accordé.
Vue d’ensemble du processus
- Créer une requête pour qu’une application consommatrice obtienne un jeton de requête.
- Faire authentifier l’utilisateur, puis envoyer à l’application consommatrice un jeton de requête.
- Convertir le jeton de requête en un jeton d’accès utilisateur utilisable.
- App Key === API Key === Consumer API Key === Consumer Key === Customer Key ===
oauth_consumer_key - App Key Secret === API Secret Key === Consumer Secret === Consumer Key === Customer Key ===
oauth_consumer_secret - Callback URL ===
oauth_callback
- Request Token ===
oauth_token - Request Token Secret ===
oauth_token_secret - oauth_verifier
- Access token === Token ===
oauth_tokenrésultant - Access token secret === Token Secret ===
oauth_token_secretrésultant
Étapes de la procédure pas à pas
oauth_callback, qui doit être une version encodée en URL de l’URL vers laquelle vous souhaitez que votre utilisateur soit redirigé lorsqu’il termine l’étape 2. Les autres paramètres sont ajoutés par le processus de signature OAuth.
Veuillez noter : toute URL de rappel que vous utilisez avec le point de terminaison POST oauth/request_token devra être configurée dans les paramètres de votre App pour développeur sur la page de détails de l’App dans la Console de développement.
La requête inclut :
oauth_callback="https%3A%2F%2FyourCallbackUrl.com"
oauth_consumer_key="cChZNFj6T5R0TigYB9yd1w"
Votre app doit examiner le statut HTTP de la réponse. Toute valeur différente de 200 indique un échec. Le corps de la réponse contient les paramètres oauth_token, oauth_token_secret et oauth_callback_confirmed. Votre app doit vérifier que oauth_callback_confirmed est vrai et stocker les deux autres valeurs pour les étapes suivantes.
La réponse inclut :
oauth_token=NPcudxy0yU5T3tBzho7iCotZ3cnetKwcTIRlX0iwRl0
oauth_token_secret=veNRnAWe6inFuo8o2u8SLLZLjolYDmDP7SzL0YfYI
oauth_callback_confirmed=true
Étape 2 : GET oauth/authorize
Demandez à l’utilisateur de s’authentifier et d’envoyer à l’application cliente un jeton de requête.
Exemple d’URL vers laquelle rediriger l’utilisateur :
https://api.x.com/oauth/authorize?oauth_token=NPcudxy0yU5T3tBzho7iCotZ3cnetKwcTIRlX0iwRl0
Après une authentification réussie, votre callback_url recevra une requête contenant les paramètres oauth_token et oauth_verifier. Votre application doit vérifier que le jeton correspond au jeton de requête reçu à l’étape 1.
Requête issue de la redirection du client :
https://yourCallbackUrl.com?oauth_token=NPcudxy0yU5T3tBzho7iCotZ3cnetKwcTIRlX0iwRl0&oauth_verifier=uw7NjWHT6OJ1MpJOXsHfNxoAhPKpgI8BlYDhxEjIBY
Étape 3 : POST oauth/access_token
Convertissez le jeton de requête en jeton d’accès utilisable.
Pour transformer le jeton de requête en jeton d’accès utilisable, votre application doit envoyer une requête au point de terminaison POST oauth/access_token, contenant la valeur oauth_verifier obtenue à l’étape 2. Le jeton de requête est également transmis dans la partie oauth_token de l’en-tête, mais il aura été ajouté par le processus de signature.
La requête inclut :
POST /oauth/access_token
oauth_consumer_key=cChZNFj6T5R0TigYB9yd1w
oauth_token=NPcudxy0yU5T3tBzho7iCotZ3cnetKwcTIRlX0iwRl0
oauth_verifier=uw7NjWHT6OJ1MpJOXsHfNxoAhPKpgI8BlYDhxEjIBY
Une réponse réussie contient les paramètres oauth_token, oauth_token_secret. Le jeton et le secret du jeton doivent être stockés et utilisés pour les futures requêtes authentifiées vers la X API. Pour déterminer l’identité de l’utilisateur, utilisez GET account/verify_credentials.
La réponse inclut :
oauth_token=7588892-kagSNqWge8gB1WwE3plnFsJHAZVfxWD7Vb57p0b4
oauth_token_secret=PbKfYqSryyeKDWz4ebtY3o5ogNLG11WJuZBc9fQrQo
Utilisation de ces identifiants pour les requêtes nécessitant OAuth 1.0a (application-utilisateur)
Maintenant que vous avez obtenu les jetons d’accès utilisateur, vous pouvez les utiliser pour accéder à certaines API, comme POST statuses/update, afin de créer des Tweets pour le compte des utilisateurs.
La requête comprend :
POST statuses/update.json
oauth_consumer_key=cChZNFj6T5R0TigYB9yd1w
oauth_token=7588892-kagSNqWge8gB1WwE3plnFsJHAZVfxWD7Vb57p0b4
Exemple de cas d’utilisation


