> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Découvrez le flux personnalisé d’échange de jetons.

# Flux personnalisé d’échange de jetons

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](https://datatracker.ietf.org/doc/html/rfc8693).

<div id="how-it-works">
  ## Fonctionnement
</div>

Le flux Custom Token Exchange est régi par une seule [Action Custom Token Exchange](/fr-CA/docs/customize/actions/explore-triggers/signup-and-login-triggers/custom-token-exchange-trigger), 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](/fr-CA/docs/authenticate/custom-token-exchange/configure-custom-token-exchange).

<Frame>
  <img src="https://mintcdn.com/translations/xwVvTWJUElMm5YAK/docs/images/custom-token-exchange/cte_how_it_works_diagram.png?fit=max&auto=format&n=xwVvTWJUElMm5YAK&q=85&s=a9ae180f06e5475951032bff449c786d" alt="" width="1372" height="846" data-path="docs/images/custom-token-exchange/cte_how_it_works_diagram.png" />
</Frame>

Comme prérequis au flux, vous devez définir un [profil Custom Token Exchange](/fr-CA/docs/authenticate/custom-token-exchange/configure-custom-token-exchange#create-custom-token-exchange-profile) 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.

<div id="get-started">
  ## Pour commencer
</div>

Pour utiliser Custom Token Exchange, vous devez [créer un profil Custom Token Exchange](/fr-CA/docs/authenticate/custom-token-exchange/configure-custom-token-exchange#create-custom-token-exchange-profile). 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](/fr-CA/docs/authenticate/custom-token-exchange/configure-custom-token-exchange#create-action-for-the-profile) 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](/fr-CA/docs/customize/actions/explore-triggers/signup-and-login-triggers/custom-token-exchange-trigger/custom-token-exchange-api-object).
2. [Créer le profil Custom Token Exchange](/fr-CA/docs/authenticate/custom-token-exchange/configure-custom-token-exchange#create-custom-token-exchange-profile) 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](/fr-CA/docs/authenticate/custom-token-exchange/configure-custom-token-exchange#enable-custom-token-exchange-for-your-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](/fr-CA/docs/get-started/authentication-and-authorization-flow/token-exchange-flow/call-your-api-using-the-custom-token-exchange-flow).

<div id="learn-more">
  ## En savoir plus
</div>

* [Custom Token Exchange](/fr-CA/docs/authenticate/custom-token-exchange)
* [Exemples de cas d’utilisation](/fr-CA/docs/authenticate/custom-token-exchange/cte-example-use-cases)
* [Configurer le Custom Token Exchange](/fr-CA/docs/authenticate/custom-token-exchange/configure-custom-token-exchange)
