POST /oauth/token
L’échange de jetons personnalisé (CTE) fournit un mécanisme permettant aux applications 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 pour échanger des jetons Auth0 existants afin d’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 peut être entièrement contrôlé, 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 jetons personnalisé est actuellement offert en Accès anticipé. En utilisant cette fonctionnalité, vous acceptez les conditions applicables de l’essai gratuit prévues dans le Contrat-cadre d’abonnement d’Okta. Il vous incombe de valider en toute sécurité le
subject_token de l’utilisateur. Consultez le guide d’utilisation pour en savoir plus.Remarques
-
Les scopes accordés à l’application peuvent différer des scopes demandés. Dans ce cas, un paramètre
scopesera inclus dans la réponse JSON. Les scopes sont filtrés comme expliqué dans Politiques d’accès aux API pour les applications -
Le
subject_token_typedoit correspondre à un profil d’échange de jetons personnalisé existant et à une Action associée. -
Pour les applications non confidentielles qui ne peuvent pas protéger le Secret client (par exemple, les applications natives), le point de terminaison permet de ne pas fournir de Secret client, mais l’application elle-même doit avoir la propriété
tokenEndpointAuthMethoddéfinie surnone. Vous pouvez le faire soit dans l’interface utilisateur (Auth0 Dashboard > Applications > Paramètres de l’application), soit à l’aide de la Management API. - Vous devez activer l’échange de jetons personnalisé pour votre application. Pour en savoir plus, consultez la documentation sur l’échange de jetons personnalisé.
Paramètres
Une preuve DPoP pour la requête. Ce paramètre est facultatif et n’est requis que si votre application utilise Demonstrating Proof-of-Possession.
L’adresse IP de l’utilisateur final, sous forme de chaîne de caractères. Définissez ce paramètre si vous souhaitez que la protection Suspicious IP Throttling fonctionne dans les scénarios côté serveur.
Corps de la requête
Indique le flux que vous utilisez. Pour échange de jetons personnalisé, utilisez
urn:ietf:params:oauth:grant-type:token-exchange.Valeurs autorisées : urn:ietf:params:oauth:grant-type:token-exchangeLe type du jeton du sujet. Pour échange de jetons personnalisé, il peut s’agir de n’importe quel URI relevant d’un espace qui vous appartient, comme
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.Le jeton du sujet, que votre Action doit valider et utiliser pour identifier l’utilisateur.
L’ID client de votre application. Comme pour les autres types d’octroi, vous pouvez aussi transmettre l’ID client dans l’en-tête Authorization à l’aide de HTTP Basic Auth.
(Facultatif) Le Secret client de votre application. Comme pour les autres types d’octroi, vous pouvez aussi transmettre le secret client dans l’en-tête Authorization à l’aide de HTTP Basic Auth. D’autres options sont aussi offertes, comme l’explique la documentation de référence de l’Authentication API d’Auth0. Comme échange de jetons personnalisé peut être utilisé par des applications publiques, consultez Attack Protection pour mettre en place des mesures de sécurité supplémentaires.
(Facultatif) L’identifiant unique de l’API cible à laquelle vous voulez accéder. L’audience par défaut du locataire sera utilisée si ce paramètre n’est pas fourni, comme configuré dans Paramètres du locataire.
(Facultatif) L’identifiant de l’API cible (serveur de ressources) à laquelle vous voulez accéder. Il doit correspondre à un identifiant d’API enregistré dans votre locataire Auth0. Il est utilisé comme solution de rechange à
audience lorsque le profil de compatibilité du paramètre Resource du locataire est défini sur compatibility.(Facultatif) Le paramètre OAuth2
scope.(Facultatif) L’organisation ou l’identifiant auquel vous voulez associer la requête. Vous pouvez aussi préciser un nom d’organisation si Utiliser des noms d’organisation dans l’Authentication API est activé.
Réponse
| Statut | Description |
|---|---|
| 200 | Réponse réussie |