Passer au contenu principal

OAuth 1.0a

ObjectifMéthode
Étape 1 du flux OAuth à 3 étapes et Se connecter avec X
Permet à une application consommatrice d’obtenir un OAuth Request Token afin de solliciter l’autorisation de l’utilisateur.
POST oauth/request_token
Étape 2 du flux OAuth à 3 étapes et Se connecter avec X
Permet à une application consommatrice d’utiliser un OAuth Request Token pour demander l’autorisation de l’utilisateur.
GET oauth/authenticate
Étape 2 du flux OAuth à 3 étapes et Se connecter avec X
Permet à une application consommatrice d’utiliser un OAuth Request Token pour demander l’autorisation de l’utilisateur.
GET oauth/authorize
Étape 3 du flux OAuth à 3 étapes et Se connecter avec X
Permet à une application consommatrice d’échanger l’OAuth Request Token contre un OAuth Access Token.
POST oauth/access_token
Permet à une application enregistrée de révoquer un OAuth Access Token émis.POST oauth/invalidate_token

OAuth 2.0 Bearer Token

ObjectifMéthode
Permet à une App enregistrée de générer un OAuth 2.0 Bearer Token (mode App uniquement), utilisable pour effectuer des requêtes à l’API au nom de l’App, sans contexte utilisateur.POST oauth2/token
Permet à une App enregistrée de révoquer un OAuth 2.0 Bearer Token émis (mode App uniquement).POST oauth2/invalidate_token

POST oauth/request_token

Permet à une application Consumer d’obtenir un OAuth Request Token pour demander l’autorisation de l’utilisateur. Cette méthode correspond à la section 6.1 du flux d’authentification OAuth 1.0. Nous exigeons l’utilisation de HTTPS pour toutes les étapes d’autorisation OAuth. Remarque d’utilisation : Seules les valeurs ASCII sont acceptées pour le oauth_nonce. Resource URL https://api.x.com/oauth/request_token Resource Information
Formats de réponseJSON
Nécessite une authentification ?Non
Limité par la limite de taux ?Oui
Parameters
NomRequisDescriptionExemple
oauth_callbackrequisPour la conformité à OAuth 1.0a, ce paramètre est requis. La valeur indiquée ici sera utilisée comme URL de redirection si l’utilisateur approuve l’accès de votre application à son compte. Définissez-la sur oob pour le mode code hors bande. C’est également ainsi que vous spécifiez des callbacks personnalisés pour une utilisation dans des applications bureautiques/mobile. Envoyez toujours un oauth_callback à cette étape, indépendamment d’un callback préenregistré.

Nous exigeons que toute URL de callback utilisée avec cet endpoint soit configurée dans les paramètres de l’App sur developer.x.com*
http://themattharris.local/auth.php twitterclient://callback
x_auth_access_typeoptionnelRemplace le niveau d’accès demandé par une application au compte d’un utilisateur. Les valeurs prises en charge sont read ou write. Ce paramètre permet à un développeur d’enregistrer une application lecture/écriture tout en demandant un accès en lecture seule lorsque cela est approprié.
En savoir plus sur l’approbation de vos URL de callback sur cette page. Veuillez noter — Vous pouvez afficher et modifier vos X apps existantes via le X app dashboard si vous êtes connecté à votre compte X sur developer.x.com. Example request Request URL: POST https://api.x.com/oauth/request_token Request POST Body: N/A Authorization Header: OAuth oauth_nonce="K7ny27JTpKVsTgdyLdDfmQQWVLERj2zAK5BslRsqyw", oauth_callback="http%3A%2F%2Fmyapp.com%3A3005%2Ftwitter%2Fprocess_callback", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1300228849", oauth_consumer_key="OqEqJeafRSF11jBMStrZz", oauth_signature="Pc%2BMLdv028fxCErFyi8KXFM%2BddU%3D", oauth_version="1.0" Response: oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik&oauth_token_secret=Kd75W4OQfb2oJTV0vzGzeXftVAwgMnEK9MumzYcM&oauth_callback_confirmed=true

GET oauth/authorize

Permet à une application Consumer d’utiliser un OAuth Request Token pour solliciter l’autorisation de l’utilisateur. Cette méthode répond à la section 6.2 du flux d’authentification OAuth 1.0. Les applications de bureau doivent utiliser cette méthode (et ne peuvent pas utiliser GET oauth/authenticate). Note d’utilisation : un oauth_callback n’est jamais envoyé à cette méthode. Fournissez-le plutôt à POST oauth/request_token. URL de la ressource https://api.x.com/oauth/authorize Informations sur la ressource
Formats de réponseJSON
Authentification requise ?Oui
Limite de taux ?Oui
Paramètres
NomRequisDescriptionValeur par défautExemple
force_loginfacultatifOblige l’utilisateur à saisir ses identifiants afin de garantir que le bon compte utilisateur est autorisé.
screen_namefacultatifPréremplit le champ du nom d’utilisateur de l’écran de connexion OAuth avec la valeur fournie.
Exemple de requête Envoyez l’utilisateur à l’étape oauth/authorize dans un navigateur Web, en incluant un paramètre oauth_token : https://api.x.com/oauth/authorize?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik

GET oauth/authenticate

Permet à une application Consumer d’utiliser un request_token OAuth pour demander l’autorisation d’un utilisateur. Cette méthode remplace la Section 6.2 du flux d’authentification OAuth 1.0 pour les applications utilisant le flux d’authentification avec rappel (callback). La méthode utilise l’utilisateur actuellement connecté comme compte pour l’autorisation d’accès, sauf si le paramètre force_login est défini sur true. Cette méthode diffère de GET oauth/authorize en ce que, si l’utilisateur a déjà accordé les autorisations à l’application, la redirection aura lieu sans que l’utilisateur ait à approuver de nouveau l’application. Pour obtenir ce comportement, vous devez activer le paramètre Use Sign in with X dans la fiche de votre application. Resource URL https://api.x.com/oauth/authenticate Resource Information
Response formatsJSON
Requires authentication?Yes
Rate limited?Yes
Parameters
NameRequiredDescriptionDefault ValueExample
force_loginoptionalForce l’utilisateur à saisir ses identifiants pour garantir que le bon compte utilisateur est autorisé.true
screen_nameoptionalPréremplit le champ du nom d’utilisateur de l’écran de connexion OAuth avec la valeur fournie.
Example request Envoyez l’utilisateur à l’étape oauth/authenticate dans un navigateur web, en incluant un paramètre oauth_token : https://api.x.com/oauth/authenticate?oauth_token=Z6eEdO8MOmk394WozF5oKyuAv855l4Mlqo7hhlSLik

POST oauth/access_token

Permet à une application consommatrice d’échanger le OAuth Request Token contre un OAuth Access Token. Cette méthode répond à la section 6.3 du flux d’authentification OAuth 1.0. Resource URL https://api.x.com/oauth/access_token Resource Information
Response formatsJSON
Requires authentication?Yes
Rate limited?Yes
Parameters
NameRequiredDescriptionDefault ValueExample
oauth_tokenrequiredLe oauth_token ici doit être identique au oauth_token renvoyé à l’étape request_token.
oauth_verifierrequiredSi vous utilisez le flux Web OAuth, définissez ce paramètre sur la valeur de oauth_verifier renvoyée dans l’URL de rappel. Si vous utilisez l’OAuth hors bande, définissez cette valeur sur le code PIN. Pour la conformité OAuth 1.0a, ce paramètre est obligatoire. OAuth 1.0a est strictement appliqué et les applications qui n’utilisent pas oauth_verifier ne parviendront pas à mener le flux OAuth à son terme.
Example request POST https://api.x.com/oauth/access_token?oauth_token=qLBVyoAAAAAAx72QAAATZxQWU6P&oauth_verifier=ghLM8lYmAxDbaqL912RZSRjCCEXKDIzx À partir d’un code PIN: POST https://api.x.com/oauth/access_token?oauth_token=9Npq8AAAAAAAx72QBRABZ4DAfY9&oauth_verifier=4868795 Example response oauth_token=6253282-eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY&oauth_token_secret=2EEfA6BG5ly3sR3XjE0IBSnlQu4ZrUzPiYTmrkVU&user_id=6253282&screen_name=xapi

POST oauth/invalidate_token

Permet à une App enregistrée de révoquer un access_token OAuth émis en présentant ses identifiants client. Une fois qu’un access_token a été invalidé, toute nouvelle tentative de création produira un Access Token différent et l’utilisation du jeton invalidé ne sera plus autorisée. Resource URL https://api.x.com/1.1/oauth/invalidate_token Resource Information
Response formatsJSON
Requires authentication?Oui — Contexte utilisateur avec les access tokens que vous souhaitez invalider
Rate limited?Oui
Example request
        curl --request POST
          --url 'https://api.x.com/1.1/oauth/invalidate_token.json'
          --header 'authorization: OAuth oauth_consumer_key="CLIENT_KEY",
         oauth_nonce="AUTO_GENERATED_NONCE", oauth_signature="AUTO_GENERATED_SIGNATURE",
         oauth_signature_method="HMAC-SHA1", oauth_timestamp="AUTO_GENERATED_TIMESTAMP",
         oauth_token="ACCESS_TOKEN", oauth_version="1.0"'
Exemple de réponse
        HTTP/1.1 200 OK
        Content-Type: application/json; charset=utf-8
        Content-Length: 127
        ...

        {"access_token":"ACCESS_TOKEN"}
Exemple de réponse d’erreur après invalidation du jeton
        HTTP/1.1 401 Authorization Required
        ...

        {"errors": [{
          "code": 89,
          "message": "Jeton invalide ou expiré."}
        ]}

POST oauth2/token

Permet à une application enregistrée d’obtenir un Jeton Bearer OAuth 2, qui peut être utilisé pour effectuer des requêtes API pour le compte de l’application elle‑même, sans contexte utilisateur. C’est ce qu’on appelle l’authentification « App only ». Un Jeton Bearer peut être invalidé à l’aide de oauth2/invalidate_token. Une fois un Jeton Bearer invalidé, toute nouvelle tentative de création produira un autre Jeton Bearer et l’utilisation du jeton précédent ne sera plus autorisée. Un seul Jeton Bearer peut être actif pour une application, et les requêtes répétées vers cette méthode renverront le même jeton existant tant qu’il n’aura pas été invalidé. Les réponses réussies incluent une structure JSON décrivant le Jeton Bearer délivré. Les jetons reçus par cette méthode doivent être mis en cache. En cas de tentatives trop fréquentes, les requêtes seront rejetées avec un HTTP 403 et le code 99. Resource URL https://api.x.com/oauth2/token Resource Information
Response formatsJSON
Requires authentication?Yes - Authentification Basic avec votre API Key comme nom d’utilisateur et le secret de votre API Key comme mot de passe
Rate limited?Yes
Parameters
NameRequiredDescriptionDefault ValueExample
grant_typerequiredSpécifie le type de « grant » demandé par l’application. Pour l’instant, seul client_credentials est autorisé. Voir l’authentification « App only » pour plus d’informations.client_credentials
Example request
    POST /oauth2/token HTTP/1.1
    Host: api.x.com
    User-Agent: My X App v1.0.23
    Authorization: Basic eHZ6MWV2R ... o4OERSZHlPZw==
    Content-Type: application/x-www-form-urlencoded;charset=UTF-8
    Content-Length: 29
    Accept-Encoding: gzip

    grant_type=client_credentials
Exemple de réponse :
    HTTP/1.1 200 OK
    Status: 200 OK
    Content-Type: application/json; charset=utf-8
    ...
    Content-Encoding: gzip
    Content-Length: 140

    {"token_type":"bearer","access_token":"AAAA%2FAAA%3DAAAAAAAA"}

POST oauth2/invalidate_token

Permet à une application enregistrée de révoquer un OAuth 2.0 Bearer Token en présentant ses identifiants client. Une fois qu’un Bearer Token a été invalidé, toute nouvelle tentative de création produira un Bearer Token différent et l’utilisation du jeton invalidé ne sera plus autorisée. Les réponses réussies incluent une structure JSON décrivant le Bearer Token révoqué. Resource URL https://api.x.com/oauth2/invalidate_token Resource Information
Response formatsJSON
Requires authentication?Oui - OAuth 1.0a avec les API Keys consommateur de l’App et l’access token et access token secret du propriétaire de l’App
Rate limited?Oui
Parameters
NameRequiredDescription
access_tokenrequiredLa valeur du Bearer Token que vous souhaitez invalider
Example request
        curl --request POST
          --url 'https://api.x.com/oauth2/invalidate_token?access_token=AAAA%2FAAA%3DAAAAAAAA'
          --header 'authorization: OAuth oauth_consumer_key="CLIENT_KEY",
         oauth_nonce="AUTO_GENERATED_NONCE", oauth_signature="AUTO_GENERATED_SIGNATURE",
         oauth_signature_method="HMAC-SHA1", oauth_timestamp="AUTO_GENERATED_TIMESTAMP",
         oauth_token="ACCESS_TOKEN", oauth_version="1.0"'
Exemple de réponse
         Statut : 200 OK
         Content-Type: application/json; charset=utf-8
         Content-Length: 135
         ...
       {
        "access_token": "AAAA%2FAAA%3DAAAAAAAA"
        }
I