> ## 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.

> Comprendre le flux d’échange de jetons (RFC 8693) dans Auth0, y compris comment configurer des profils et des Actions d’échange de jeton personnalisé afin d’émettre des jetons Auth0.

# Flux d’échange de jeton personnalisé

L’échange de jeton personnalisé permet aux applications d’échanger un jeton de sécurité existant — appelé `subject_token` — contre des jetons d’accès, d’ID et d’actualisation 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 échange de jeton personnalisé est régi par une seule [Action échange de jeton personnalisé](/docs/fr-ca/customize/actions/explore-triggers/signup-and-login-triggers/custom-token-exchange-trigger), sélectionnée de façon unique en fonction du paramètre `subject_token_type` entrant, tel qu’il est configuré dans un [profil échange de jeton personnalisé](/docs/fr-ca/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éalable au flux, vous devez définir un [profil échange de jeton personnalisé](/docs/fr-ca/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 échange de jeton personnalisé 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 du client et les informations d’identification.
3. L’Action échange de jeton personnalisé associée est exécutée. Votre code personnalisé doit décoder et valider le `subject_token`, appliquer toutes les politiques d’autorisation nécessaires et définir l’utilisateur pour 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 produit une revendication `act` dans les jetons émis qui identifie qui agit au nom de l’utilisateur.
4. Le reste du pipeline Auth0 standard s’exécute ensuite pour générer un jeton d’accès Auth0 et, au besoin, un jeton d’ID et un jeton d’actualisation pour l’utilisateur défini.
5. L’application demandeuse peut ensuite utiliser ces nouveaux jetons émis pour effectuer en toute sécurité des requêtes à des API au nom de l’utilisateur défini dans l’Action.

L’utilisation de `audience` défini sur `urn:YOUR_AUTH0_TENANT_DOMAIN:session_transfer` renvoie un jeton de transfert de session au lieu d’un jeton d’accès, que votre application peut échanger afin d’établir une session Web en tant qu’un autre utilisateur. Pour en savoir plus, consultez la [délégation de session](/docs/fr-ca/authenticate/single-sign-on/session-delegation).

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

Pour utiliser échange de jeton personnalisé, vous devez [créer un profil Custom Token Exchange](/docs/fr-ca/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](/docs/fr-ca/authenticate/custom-token-exchange/configure-custom-token-exchange#create-action-for-the-profile) qui contiendra la logique permettant de contrôler l’échange de token. 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](/docs/fr-ca/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](/docs/fr-ca/authenticate/custom-token-exchange/configure-custom-token-exchange#create-custom-token-exchange-profile) dans votre tenant. 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 échange de jeton personnalisé pour votre application](/docs/fr-ca/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. Effectuer un appel à 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 à votre profil configuré. Pour en savoir plus, consultez [Appeler votre API à l’aide de échange de jeton personnalisé](/docs/fr-ca/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>

* [Échange de jeton personnalisé](/docs/fr-ca/authenticate/custom-token-exchange)
* [Exemples de cas d’utilisation](/docs/fr-ca/authenticate/custom-token-exchange/cte-example-use-cases)
* [Configurer l’échange de jeton personnalisé](/docs/fr-ca/authenticate/custom-token-exchange/configure-custom-token-exchange)
