Skip to main content
POST /oauth/token Token Vault permet à une application d’échanger un jeton Auth0 contre le jeton d’accès d’un fournisseur externe afin d’appeler des API externes au nom de l’utilisateur. Cet échange repose sur l’échange de jetons OAuth 2.0 (RFC 8693) et utilise le type d’autorisation urn:auth0:params:oauth:grant-type:token-exchange:federated-connection-access-token. Le type d’autorisation prend en charge deux variantes, qui ne diffèrent que par le subject_token envoyé :
  • Échange de jeton d’actualisation : échangez un jeton d’actualisation Auth0 contre le jeton d’accès du fournisseur externe. Utilisez cette option lorsque votre application détient un jeton d’actualisation Auth0. Pour en savoir plus, consultez Échange de jeton d’actualisation avec Token Vault.
  • Échange de jeton d’accès : échangez un jeton d’accès Auth0 contre le jeton d’accès du fournisseur externe. Utilisez cette option lorsqu’une API dorsale ne reçoit qu’un jeton d’accès Auth0, par exemple d’une application monopage. Pour en savoir plus, consultez Échange de jeton d’accès avec Token Vault.
Pour en savoir plus, consultez la documentation de Token Vault.

Remarques

  • Avant de pouvoir effectuer l’échange, vous devez configurer la connexion pour Token Vault et connecter le compte externe de l’utilisateur au moyen du flux Connected Accounts, qui utilise la My Account API.
  • Pour l’échange de jeton d’actualisation, définissez subject_token_type sur urn:ietf:params:oauth:token-type:refresh_token. Token Vault ne prend pas en charge la rotation des jetons d’actualisation. Vous devez donc désactiver Allow Refresh Token Rotation pour votre application dans le Auth0 Dashboard. Vous pouvez utiliser DPoP pour lier les jetons émis par Auth0 à votre client afin d’accroître la sécurité.
  • Pour l’échange de jeton d’accès, définissez subject_token_type sur urn:ietf:params:oauth:token-type:access_token. Vous devez créer un Custom API Client ayant le même identifiant que votre API dorsale et pour lequel le type d’autorisation Token Vault est activé. L’API dorsale s’authentifie à l’aide des identifiants du Custom API Client.
  • Les portées émises peuvent différer de celles accordées au compte externe. Dans ce cas, un champ scope est inclus dans la réponse JSON.
  • Auth0 renvoie un code d’état 401 s’il ne parvient pas à trouver une identité d’utilisateur correspondant à la connection (et à login_hint, s’il est fourni).

En-têtes

string
Une preuve DPoP associée à la requête. Elle est facultative et requise uniquement si votre application utilise Demonstrating Proof-of-Possession.
string
L’adresse IP de l’utilisateur final sous forme de chaîne de caractères. Définissez-la si vous souhaitez que la protection Suspicious IP Throttling fonctionne dans les scénarios côté serveur.

Corps de la requête

string
requis
Indique le flux utilisé. Pour Token Vault, utilisez urn:auth0:params:oauth:grant-type:token-exchange:federated-connection-access-token.
string
requis
Le type du jeton sujet. Pour l’échange de jeton d’actualisation, utilisez urn:ietf:params:oauth:token-type:refresh_token. Pour l’échange de jeton d’accès, utilisez urn:ietf:params:oauth:token-type:access_token.
string
requis
Le jeton Auth0 que le serveur d’autorisation Auth0 valide pour identifier l’utilisateur. Il s’agit d’un jeton d’actualisation Auth0 dans le cadre de l’échange de jeton d’actualisation, ou d’un jeton d’accès Auth0 dans le cadre de l’échange de jeton d’accès.
string
requis
Indique le type de jeton que vous souhaitez recevoir. Pour Token Vault, utilisez http://auth0.com/oauth/token-type/federated-connection-access-token.
string
requis
Le nom de la connexion au fournisseur externe, par exemple google-oauth2.
string
requis
Le Client ID de votre application. Pour l’échange de jeton d’accès, il s’agit du Client ID du Custom API Client. Comme pour les autres types d’autorisation, vous pouvez également transmettre le Client ID dans l’en-tête Authorization à l’aide de l’authentification Basic.
string
(Facultatif) Le Client Secret de votre application. Vous pouvez utiliser toute méthode d’authentification du client pour obtenir le jeton d’accès du fournisseur externe. Comme pour les autres types d’autorisation, vous pouvez également transmettre le Client Secret dans l’en-tête Authorization à l’aide de l’authentification Basic. Consultez les autres options dans la documentation de référence de l’Auth0 Authentication API.
string
(Facultatif) Utilisez login_hint uniquement si l’utilisateur possède plusieurs comptes associés à la même connexion, comme un compte Google professionnel et un compte Google personnel. Lorsque vous transmettez une valeur pour login_hint lors de l’échange de jeton, vous indiquez explicitement auquel des comptes liés de l’utilisateur la requête est destinée.

Réponse

Champs de réponse

string
Le jeton d’accès du fournisseur externe. Utilisez ce jeton pour appeler l’API du fournisseur externe au nom de l’utilisateur.
string
Une liste de portées accordées au jeton d’accès du fournisseur externe, séparés par des espaces.
number
La durée de vie du jeton d’accès, en secondes.
string
Confirme le format du jeton renvoyé.Valeur : http://auth0.com/oauth/token-type/federated-connection-access-token
string
Indique le schéma d’authentification à utiliser dans l’en-tête Authorization. Pour Token Vault, il s’agit de Bearer.