Skip to main content

Point de terminaison

POST /oauth/token L’Échange de jeton personnalisé (CTE) offre aux applications un mécanisme leur permettant d’échanger des jetons d’identité existants contre des jetons Auth0 en appelant le point de terminaison /oauth/token, conformément aux spécifications de la RFC 8693. Cette fonctionnalité est particulièrement utile pour répondre à des besoins d’intégration avancés, par exemple échanger des jetons Auth0 existants pour accéder à une autre audience au nom du même utilisateur, faciliter l’intégration de fournisseurs d’identité externes ou permettre une migration fluide des utilisateurs vers la plateforme Auth0. Le processus d’échange est entièrement contrôlable, puisque les développeurs peuvent en définir les détails à l’aide de leur logique personnalisée exécutée dans une Action Auth0 dédiée au cas d’utilisation concerné.
L’Échange de jeton personnalisé est actuellement offert en accès anticipé. En utilisant cette fonctionnalité, vous acceptez les conditions applicables de l’essai gratuit énoncées dans le Master Subscription Agreement d’Okta. Il vous incombe de valider de manière sécuritaire le subject_token de l’utilisateur. Consultez le guide de l’utilisateur pour en savoir plus.

Remarques

Consultez Échange de jeton personnalisé pour comprendre les profils d’échange de jetons personnalisés, la façon dont un profil est mappé à une Action et comment activer ce flux pour votre application.
  • Les portées accordées à l’application peuvent différer des portées demandées. Dans ce cas, un paramètre scope sera inclus dans la réponse JSON. Les portées sont filtrées comme expliqué dans Politiques d’accès aux API pour les applications.
  • La MFA n’est pas compatible avec les transactions où un acteur est défini à l’aide de setActor(). Dans ces cas, la requête renvoie une erreur 400 : MFA is not supported using actor_token with the requested token exchange profile.
  • Lorsque l’Action appelle setActor(), les jetons d’accès et les jetons ID émis incluent une revendication act qui représente la chaîne de délégation. La revendication act est également incluse dans la réponse userinfo.
  • Pour demander un jeton de transfert de session plutôt qu’un jeton d’accès, définissez audience sur urn:YOUR_AUTH0_TENANT_DOMAIN:session_transfer. L’appel à setActor() est requis pour cette requête. Consultez Délégation de session pour savoir comment échanger le jeton obtenu afin d’établir une session au nom de l’utilisateur concerné.
  • Pour inclure des revendications standard (comme email) dans le ou les jetons émis, la portée correspondante (email) doit être incluse dans la requête, même si votre Action définit explicitement la revendication. Pour en savoir plus, consultez Portées OpenID Connect : revendications standard.
  • L’échange de jeton personnalisé n’ajoute pas d’acteur agent. Même lorsque Agents as Principal est activé, la revendication act est entièrement contrôlée par l’Action à l’aide de setActor() ; Auth0 n’ajoute pas automatiquement de revendication act d’agent pour cette autorisation.

En-têtes

string
Une preuve DPoP pour la requête. Ce champ est facultatif et n’est requis que 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 ce champ si vous voulez que la protection Suspicious IP Throttling fonctionne dans des scénarios côté serveur.

Paramètres du corps

Le corps de la requête est au format application/x-www-form-urlencoded.
string
requis
Indique le flux que vous utilisez. Pour Échange de jeton personnalisé, utilisez urn:ietf:params:oauth:grant-type:token-exchange.Valeurs autorisées : urn:ietf:params:oauth:grant-type:token-exchange
string
requis
Le type du subject token. Pour Échange de jeton personnalisé, il peut s’agir de n’importe quel URI dans votre propre espace de noms, par exemple http://acme.com/legacy-token ou urn:acme:legacy-token. Les espaces de noms suivants sont réservés et ne peuvent pas être utilisés : http://auth0.com, https://auth0.com, http://okta.com, https://okta.com, urn:ietf, urn:auth0, urn:okta.
string
requis
Le subject token, que votre action doit valider et utiliser pour identifier l’utilisateur.
string
requis
Le Client ID de votre application. Comme pour les autres grant types, vous pouvez aussi transmettre le client ID dans l’en-tête Authorization à l’aide de l’authentification Basic HTTP.
string
(Facultatif) Le Client Secret de votre application. Comme pour les autres grant types, vous pouvez aussi transmettre le client secret dans l’en-tête Authorization à l’aide de l’authentification Basic HTTP. D’autres options sont également offertes, comme expliqué dans la documentation de référence de l’Auth0 Authentication API. Comme Échange de jeton personnalisé peut être utilisé par des Public applications, consultez Attack Protection pour mettre en place des mesures de sécurité supplémentaires.
string
(Facultatif) L’identifiant unique de l’API cible à laquelle vous voulez accéder. L’audience par défaut du tenant sera utilisée si ce paramètre n’est pas fourni, comme configuré dans Tenant Settings. Pour demander un jeton de transfert de session afin d’établir une session déléguée plutôt qu’un jeton d’accès, utilisez urn:YOUR_AUTH0_TENANT_DOMAIN:session_transfer.
string
(Facultatif) L’identifiant de l’API cible (resource server) à laquelle vous voulez accéder. Il doit correspondre à un API identifier enregistré dans votre Auth0 tenant. Utilisé comme solution de rechange à audience lorsque le Resource Parameter Compatibility Profile du tenant est défini à compatibility.
string
(Facultatif) Le paramètre portée d’OAuth2.
string
(Facultatif) L’organization ou l’identifiant auquel vous voulez associer la requête. Vous pouvez aussi préciser un organization name si Use Organization Names in Authentication API est activé.
string
(Facultatif) Un token qui identifie l’actor effectuant une délégation au nom de l’utilisateur subject. Doit être fourni avec actor_token_type. S’il est présent, aucun jeton d’actualisation ne sera émis.
string
(Facultatif) Le type de l’actor token. Doit être fourni avec actor_token. Pour les jetons d’ID Auth0, utilisez urn:ietf:params:oauth:token-type:id_token pour une validation automatique côté serveur (signature, expiration, émetteur, recherche de l’utilisateur). Pour les autres valeurs, appliquez les mêmes restrictions d’espace de noms que pour subject_token_type.

Schéma de réponse

Messages de réponse