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

# Échange d’identifiants

> Découvrez les Actions d’échange d’identifiants, qui s’exécutent lorsqu’un jeton d’accès est émis dans le cadre du flux machine à machine. Elles peuvent servir à rejeter l’échange ou à ajouter des revendications personnalisées au jeton d’accès.

Le déclencheur `credentials-exchange` s’exécute lorsqu’un <Tooltip tip="Jeton d’accès : identifiant d’autorisation, sous la forme d’une chaîne opaque ou d’un JWT, utilisé pour accéder à une API." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Access+Token">jeton d’accès</Tooltip> est émis dans le cadre du [flux d’identifiants client](/docs/fr-ca/get-started/authentication-and-authorization-flow/client-credentials-flow), avant d’être renvoyé.

<Frame>
  <img src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1JPl54LFWCUh5StuglZS2o/41f89372526574c3b8cdac4d5ba38072/Machine_to_Machine_Flow.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=12356c2f5b637c5760d658116c2345bf" alt="Diagramme illustrant le flux machine à machine des Actions et le moment où ses déclencheurs s’exécutent." width="851" height="215" data-path="docs/images/cdy7uua7fh8z/1JPl54LFWCUh5StuglZS2o/41f89372526574c3b8cdac4d5ba38072/Machine_to_Machine_Flow.png" />
</Frame>

Les Actions de ce flux sont bloquantes (synchrones) : elles s’exécutent dans le cadre du processus du déclencheur et empêchent le reste du pipeline Auth0 de s’exécuter jusqu’à ce que l’Action soit terminée.

<div id="references">
  ## Références
</div>

* [Objet d’événement](/docs/fr-ca/customize/actions/reference/credentials-exchange/credentials-exchange-event-object) : Fournit des informations contextuelles sur la requête d’échange d’identifiants client.
* [Objet API](/docs/fr-ca/customize/actions/reference/credentials-exchange/credentials-exchange-api-object) : Fournit des méthodes permettant de modifier le comportement du flux.

<div id="common-use-cases">
  ## Cas d’utilisation courants
</div>

<div id="access-control">
  ### Contrôle d’accès
</div>

Une Action credentials-exchange permet de rejeter un jeton d’accès selon une logique personnalisée :

```javascript lines theme={null}
/**
 * @param {Event} event - Détails sur la demande d’octroi des informations d’identification du client.
 * @param {CredentialsExchangeAPI} api - Interface dont les méthodes permettent de modifier le comportement de l’octroi des informations d’identification du client.
 */
exports.onExecuteCredentialsExchange = async (event, api) => {
  if (event.request.geoip.continentCode === "NA") {
    api.access.deny('invalid_request', "Access from North America is not allowed.");
  }
};
```

<div id="add-custom-claims-to-the-access-token">
  ### Ajouter des revendications personnalisées au jeton d’accès
</div>

Une Action credentials-exchange permet d’ajouter des revendications personnalisées à un jeton d’accès :

```javascript lines theme={null}
/**
 * @param {Event} event - Détails sur la requête de client credentials grant.
 * @param {CredentialsExchangeAPI} api - Interface dont les méthodes permettent de modifier le comportement du client credentials grant.
 */
exports.onExecuteCredentialsExchange = async (event, api) => {
  api.accessToken.setCustomClaim("https://my-api.exampleco.com/request-ip", event.request.ip);
};
```

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Nous recommandons fortement d’utiliser une revendication personnalisée avec espace de noms sous la forme d’une URI. Pour en savoir plus sur les revendications personnalisées avec ou sans espace de noms, consultez [Create Custom Claims](/docs/fr-ca/secure/tokens/json-web-tokens/create-custom-claims).
</Callout>
