Passer au contenu principal
Le Custom Token Exchange permet aux applications d’échanger un jeton de sécurité existant — appelé subject_token — contre des jetons d’accès, d’identité et d’actualisation d’Auth0 en appelant le point de terminaison /oauth/token, conformément à la RFC 8693.

Fonctionnement

Le flux Custom Token Exchange est régi par une seule Action Custom Token Exchange, dédiée et sélectionnée uniquement en fonction du paramètre subject_token_type entrant, tel qu’il est configuré dans un profil Custom Token Exchange.
Comme prérequis au flux, vous devez définir un profil Custom Token Exchange qui associe un subject_token_type précis à l’Action qui traitera les requêtes. Lorsque le flux Custom Token Exchange est déclenché :
  1. L’application envoie une requête POST au point de terminaison /oauth/token avec le jeton de sécurité à échanger (le subject_token) et le subject_token_type correspondant. La requête peut aussi inclure un actor_token et un actor_token_type pour identifier une entité agissant au nom de l’utilisateur.
  2. Auth0 valide la requête de l’application et ses identifiants.
  3. L’Action Custom Token Exchange associée est exécutée. Votre code personnalisé doit décoder et valider le subject_token, appliquer les politiques d’autorisation nécessaires et définir l’utilisateur de la transaction afin d’approuver l’échange. L’Action peut aussi définir un acteur pour la transaction au moyen de api.authentication.setActor(), ce qui ajoute une revendication act aux jetons émis pour indiquer qui agit au nom de l’utilisateur.
  4. Le reste du pipeline Auth0 standard s’exécute pour générer un jeton d’accès Auth0 et, éventuellement, un jeton d’identité et un jeton d’actualisation pour l’utilisateur défini.
  5. L’application demandeuse peut ensuite utiliser ces nouveaux jetons pour appeler des API de façon sécurisée au nom de l’utilisateur défini dans l’Action.

Pour commencer

Pour utiliser Custom Token Exchange, vous devez créer un profil Custom Token Exchange. Le processus général comprend trois grandes étapes de configuration, suivies de votre appel d’API :
  1. Créer et déployer une Action qui contiendra la logique de contrôle de l’échange de jetons. Dans cette Action, écrivez le code personnalisé nécessaire pour :
    • Décoder et valider de façon sécurisée le subject_token reçu.
    • Effectuer toutes les étapes d’autorisation requises pour la transaction.
    • Définir l’utilisateur correspondant pour la transaction à l’aide des méthodes disponibles dans le Custom Token Exchange Actions API Object.
  2. Créer le profil Custom Token Exchange dans votre locataire. Le profil établit une correspondance un à un entre un subject_token_type précis que vous utiliserez dans vos requêtes et l’Action que vous venez de créer.
  3. Activer Custom Token Exchange pour votre application.
Une fois le profil Custom Token Exchange créé, vous êtes prêt à :
  1. Appeler votre API : vous pouvez maintenant envoyer une requête POST au point de terminaison /oauth/token avec les paramètres nécessaires, y compris le subject_token et le subject_token_type correspondant au profil que vous avez configuré. Pour en savoir plus, consultez Appeler votre API à l’aide de Custom Token Exchange.

En savoir plus