Aller au contenu
Sursa Developers

POST/oauth/token

Émettre un jeton OAuth 2.0

oauth_token

Le point de terminaison de jetons OAuth 2.0 (RFC 6749, section 3.2). grant_type : authorization_code échange un code à usage unique contre une paire de jetons et exige code_verifier (PKCE S256) ; refresh_token émet une nouvelle paire contre un jeton d’actualisation et invalide l’ancien jeton d’actualisation (renouvellement), et la réutilisation d’un jeton invalidé révoque toute la chaîne ; client_credentials émet un jeton au nom de l’organisation, pour une application confidential uniquement, sans jeton d’actualisation. Un client confidential s’authentifie avec l’en-tête Authorization: Basic ou avec les champs client_id et client_secret ; un client public n’envoie que client_id. Un jeton d’accès est valable 1 heure, un jeton d’actualisation 90 jours. Les réponses et les erreurs suivent la RFC 6749, section 5, avec Cache-Control: no-store. Ajouté dans la version 1.62.0.

Authentification

Aucun identifiant nécessaire.

Corps de la requête

application/x-www-form-urlencoded

Objet : OAuthTokenRequest

  • grant_typestringobligatoire

    Valeurs autorisées: authorization_coderefresh_tokenclient_credentials

  • codestring

    Code d’autorisation (authorization_code).

  • redirect_uristring

    Même URI de redirection que dans la demande d’autorisation (authorization_code).

  • code_verifierstring

    Valeur PKCE d’origine, de 43 à 128 caractères (authorization_code).

  • refresh_tokenstring

    Jeton d’actualisation (refresh_token).

  • scopestring

    Portées séparées par des espaces, uniquement pour restreindre (refresh_token, client_credentials).

  • client_idstring

    ID de l’application, lorsque le secret n’est pas transmis dans l’en-tête Authorization: Basic.

  • client_secretstring

    Secret client d’une application confidential, lorsqu’il n’est pas transmis dans l’en-tête Authorization: Basic.

Réponses

200Les jetons ont été émis.

En-têtes de la réponse

  • RateLimit-Policy

    Limites en vigueur, au format du brouillon IETF draft-ietf-httpapi-ratelimit-headers : éléments séparés par des virgules "<name>";q=<quota>;w=<window in seconds>. key est le débit de requêtes de la clé API (le quota est la rafale, la fenêtre est le temps nécessaire pour la reconstituer entièrement ; pour une session, c’est user, sans identifiants, ip) ; minute, day et month sont les quotas de l’organisation pour la minute, le jour et le mois calendaires en UTC.

  • RateLimit

    Ce qui reste de chaque limite de RateLimit-Policy : "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Limite de l’entrée la plus stricte de RateLimit-Policy (celle à laquelle il reste le moins de requêtes).

  • X-RateLimit-Remaining

    Requêtes restantes au titre de la limite la plus stricte.

  • X-RateLimit-Reset

    Secondes restantes avant la réinitialisation de la limite la plus stricte.

application/json

Objet : OAuthTokenResponse

  • access_tokenstringobligatoire

    Jeton d’accès (kbat_…) pour l’en-tête Authorization: Bearer.

  • token_typestringobligatoire

    Valeurs autorisées: Bearer

  • expires_inintegerobligatoire

    Durée de vie du jeton d’accès en secondes.

  • refresh_tokenstring

    Jeton d’actualisation (kbrt_…) ; absent pour les identifiants client.

  • scopestringobligatoire

    Portées du jeton, séparées par des espaces.

400Erreur telle que définie dans la RFC 6749, section 5.2.

En-têtes de la réponse

  • RateLimit-Policy

    Limites en vigueur, au format du brouillon IETF draft-ietf-httpapi-ratelimit-headers : éléments séparés par des virgules "<name>";q=<quota>;w=<window in seconds>. key est le débit de requêtes de la clé API (le quota est la rafale, la fenêtre est le temps nécessaire pour la reconstituer entièrement ; pour une session, c’est user, sans identifiants, ip) ; minute, day et month sont les quotas de l’organisation pour la minute, le jour et le mois calendaires en UTC.

  • RateLimit

    Ce qui reste de chaque limite de RateLimit-Policy : "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Limite de l’entrée la plus stricte de RateLimit-Policy (celle à laquelle il reste le moins de requêtes).

  • X-RateLimit-Remaining

    Requêtes restantes au titre de la limite la plus stricte.

  • X-RateLimit-Reset

    Secondes restantes avant la réinitialisation de la limite la plus stricte.

401Identifiants client invalides (`invalid_client`).

En-têtes de la réponse

  • RateLimit-Policy

    Limites en vigueur, au format du brouillon IETF draft-ietf-httpapi-ratelimit-headers : éléments séparés par des virgules "<name>";q=<quota>;w=<window in seconds>. key est le débit de requêtes de la clé API (le quota est la rafale, la fenêtre est le temps nécessaire pour la reconstituer entièrement ; pour une session, c’est user, sans identifiants, ip) ; minute, day et month sont les quotas de l’organisation pour la minute, le jour et le mois calendaires en UTC.

  • RateLimit

    Ce qui reste de chaque limite de RateLimit-Policy : "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Limite de l’entrée la plus stricte de RateLimit-Policy (celle à laquelle il reste le moins de requêtes).

  • X-RateLimit-Remaining

    Requêtes restantes au titre de la limite la plus stricte.

  • X-RateLimit-Reset

    Secondes restantes avant la réinitialisation de la limite la plus stricte.

Nouvelles tentatives sans risque

Envoyez un en-tête Idempotency-Key (par exemple un UUID) avec chaque POST et PATCH. Une nouvelle tentative avec la même clé dans les 24 heures renvoie la réponse enregistrée au lieu d’exécuter à nouveau la requête.

Limites de débit

Les réponses portent les en-têtes RateLimit et RateLimit-Policy, ainsi que les anciens X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset. Une réponse 429 contient Retry-After en secondes : attendez, puis réessayez.

← oauth · Référence de l’API