Passer au contenu principal

OAuth 1.0a

PurposeMéthode
Étape 1 du flux OAuth en 3 étapes et de la Connexion avec X
Permet à une application cliente d’obtenir un OAuth Request Token afin de demander l’autorisation d’un utilisateur.
POST oauth/request_token
Étape 2 du flux OAuth en 3 étapes et de la Connexion avec X
Permet à une application cliente d’utiliser un OAuth Request Token afin de demander l’autorisation d’un utilisateur.
GET oauth/authenticate
Étape 2 du flux OAuth en 3 étapes et de la Connexion avec X
Permet à une application cliente d’utiliser un OAuth Request Token afin de demander l’autorisation d’un utilisateur.
GET oauth/authorize
Étape 3 du flux OAuth en 3 étapes et de la Connexion avec X
Permet à une application cliente 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

Jeton Bearer OAuth 2.0

ObjectifMéthode
Permet à une App enregistrée de générer un jeton Bearer OAuth 2 en mode App-only, qui peut être utilisé pour effectuer des requêtes à l’API au nom d’une App, sans contexte utilisateur.POST oauth2/token
Permet à une App enregistrée de révoquer un jeton Bearer OAuth 2 en mode App-only précédemment émis.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 répond à 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
Response formatsJSON
Requires authentication?No
Rate limited?Yes
Parameters
NameRequiredDescriptionExample
oauth_callbackrequiredPour la conformité OAuth 1.0a, ce paramètre est obligatoire. La valeur que vous indiquez ici sera utilisée comme URL vers laquelle un utilisateur est redirigé s’il approuve l’accès de votre application à son compte. Définissez cette valeur sur oob pour le mode PIN hors bande. C’est également ainsi que vous spécifiez des callbacks personnalisés à utiliser dans les applications de bureau et mobiles. Envoyez toujours un oauth_callback à cette étape, indépendamment d’un callback préenregistré.

Nous exigeons que toute URL de rappel (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_typeoptionalRemplace le niveau d’accès qu’une application demande à un compte utilisateur. Les valeurs prises en charge sont read ou write. Ce paramètre est destiné à permettre à un développeur d’enregistrer une application en lecture/écriture tout en ne demandant qu’un accès en lecture seule lorsque c’est approprié.
Pour en savoir plus sur la manière d’approuver vos URL de rappel, consultez cette page. Veuillez noter - Vous pouvez afficher et modifier vos X apps existantes via le tableau de bord X App 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 cliente d’utiliser un OAuth Request Token pour demander 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). Remarque 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
Soumis à des limites de fréquence ?Oui
Paramètres
NomObligatoireDescriptionValeur par défautExemple
force_loginfacultatifOblige l’utilisateur à saisir ses identifiants pour garantir que le bon compte utilisateur est autorisé.
screen_namefacultatifPreremplit le champ de saisie du nom d’utilisateur sur 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 callback. La méthode utilisera 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 nécessaires à 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 l’enregistrement de votre application. Resource URL https://api.x.com/oauth/authenticate Resource Information
Response formatsJSON
Requires authentication?Oui
Rate limited?Oui
Parameters
NameRequiredDescriptionDefault ValueExample
force_loginfacultatifForce l’utilisateur à saisir ses identifiants afin de garantir que le bon compte utilisateur est autorisé.true
screen_namefacultatifPréremplit le champ de saisie du nom d’utilisateur sur l’écran de connexion OAuth avec la valeur fournie.
Example request Envoyez l’utilisateur vers 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 Consumer 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. URL de la ressource https://api.x.com/oauth/access_token Informations sur la ressource
Formats de réponseJSON
Authentification requise ?Oui
Limite de débit appliquée ?Oui
Paramètres
NomObligatoireDescriptionValeur par défautExemple
oauth_tokenObligatoireLe oauth_token ici doit être le même que le oauth_token renvoyé lors de l’étape request_token.
oauth_verifierObligatoireSi vous utilisez le flux OAuth basé sur le Web, définissez ce paramètre sur la valeur de oauth_verifier renvoyée dans l’URL de rappel (callback). Si vous utilisez OAuth hors bande (out-of-band), 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 pourront pas terminer le flux OAuth.
Exemple de requête POST https://api.x.com/oauth/access_token?oauth_token=qLBVyoAAAAAAx72QAAATZxQWU6P&oauth_verifier=ghLM8lYmAxDbaqL912RZSRjCCEXKDIzx Pour une requête basée sur un code PIN : POST https://api.x.com/oauth/access_token?oauth_token=9Npq8AAAAAAAx72QBRABZ4DAfY9&oauth_verifier=4868795 Exemple de réponse oauth_token=6253282-eWudHldSbIaelX7swmsiHImEL4KinwaGloHANdrY&oauth_token_secret=2EEfA6BG5ly3sR3XjE0IBSnlQu4ZrUzPiYTmrkVU&user_id=6253282&screen_name=xapi

POST oauth/invalidate_token

Permet à une application 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 jeton d’accès 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 jetons d’accès 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 l’invalidation du jeton
        HTTP/1.1 401 Authorization Required
        ...

        {"errors": [{
          "code": 89,
          "message": "Invalid or expired token."}
        ]}

POST oauth2/token

Permet à une application enregistrée d’obtenir un jeton Bearer OAuth 2, qui peut être utilisé pour effectuer des requêtes d’API pour le compte de l’application elle-même, sans contexte utilisateur. Ceci est appelé Authentification applicative uniquement. Un jeton Bearer peut être invalidé en utilisant oauth2/invalidate_token. Une fois qu’un jeton Bearer a été invalidé, les nouvelles tentatives de création produiront un jeton Bearer différent et l’utilisation du jeton précédent ne sera plus autorisée. Un seul jeton Bearer valide peut exister pour une application donnée, et des requêtes répétées vers cette méthode renverront le même jeton déjà existant tant qu’il n’a pas été invalidé. Les réponses réussies renvoient une structure JSON décrivant le jeton Bearer accordé. 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 avec le code 99. URL de la ressource https://api.x.com/oauth2/token Informations sur la ressource
Formats de réponseJSON
Nécessite une authentification ?Oui - authentification HTTP Basic avec votre clé d’API comme nom d’utilisateur et le secret de votre clé d’API comme mot de passe
Limité par le taux ?Oui
Paramètres
NomObligatoireDescriptionValeur par défautExemple
grant_typerequiredSpécifie le type de grant d’autorisation demandé par l’application. Pour le moment, seul client_credentials est autorisé. Consultez Authentification applicative uniquement pour plus d’informations.client_credentials
Exemple de requête
    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 jeton Bearer OAuth 2.0 émis en présentant ses identifiants client. Une fois qu’un jeton Bearer a été invalidé, toute nouvelle tentative de création produira un jeton Bearer différent et l’utilisation du jeton invalidé ne sera plus autorisée. Les réponses réussies contiennent une structure JSON décrivant le jeton Bearer révoqué. URL de la ressource https://api.x.com/oauth2/invalidate_token Informations sur la ressource
Formats de réponseJSON
Authentification requise ?Oui - OAuth 1.0a avec les clés d’API consommateur de l’application ainsi que le jeton d’accès et le secret de jeton d’accès du propriétaire de l’application
Soumis à des limites de débit ?Oui
Paramètres
NomObligatoireDescription
access_tokenobligatoireLa valeur du jeton Bearer que vous souhaitez invalider
Exemple de requête
        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
         Status: 200 OK
         Content-Type: application/json; charset=utf-8
         Content-Length: 135
         ...
       {
        "access_token": "AAAA%2FAAA%3DAAAAAAAA"
        }