> ## 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 comment utiliser l’authentification multifacteur (MFA) avec Custom Token Exchange.

# Authentification multifacteur (MFA) avec Custom Token Exchange

export const ReleaseStageNotice = ({feature, stage, plans, contact, terms}) => {
  const stageTextMap = {
    "beta": "bêta",
    "ea": "Accès anticipé"
  };
  const stageText = stageTextMap[stage] || "une phase de lancement du produit";
  const prsLink = "/docs/troubleshoot/product-lifecycle/product-release-stages";
  const linkify = (text, url) => {
    return <a href={url} target="_blank" rel="noreferrer" class="link">{text}</a>;
  };
  const includeDetails = (plans, contact, terms) => {
    const hasDetails = terms || plans || contact;
    if (!hasDetails) return null;
    return <span data-as="p">
            {plans && <>Cette fonctionnalité est offerte avec les forfaits {linkify(`${plans}`, "https://auth0.com/pricing")}. </>}
            {contact && "Pour y participer, communiquez avec " + contact + ". "}
            {terms && <>En utilisant cette fonctionnalité, vous acceptez les conditions applicables de l’essai gratuit énoncées dans le {linkify("Master Subscription Agreement", "https://www.okta.com/legal")} d’Okta.</>}
        </span>;
  };
  return <Warning>
            <span data-as="p">
                <strong>La fonctionnalité {feature} est en {linkify(stageText, prsLink)}.</strong>
            </span>

            {includeDetails(plans, contact, terms)}
        </Warning>;
};

<ReleaseStageNotice feature="Échange de jetons personnalisé (CTE)" stage="ea" plans="B2C Professional, B2B Professional et Enterprise" terms="true" />

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  MFA n’est pas compatible avec les transactions d’échange de jetons personnalisé où un acteur est défini au moyen de `api.authentication.setActor()`. Si MFA est requis (par une politique ou une Action post-login) et que l’Action d’échange de jetons personnalisé définit un acteur, la transaction échoue avec une erreur `400` : `MFA is not supported using actor_token with the requested token exchange profile.`
</Callout>

Pour ajouter une protection contre le vol de jetons ou d’autres risques de sécurité, vous pouvez ajouter l’authentification multifacteur à une requête d’échange de jetons personnalisé à l’aide de l’une des méthodes suivantes :

* [Activez et configurez votre politique MFA ](/docs/fr-ca/secure/multi-factor-authentication/enable-mfa) pour votre tenant
* Utilisez `api.multifactor.enable()` dans une Action post-login

Lorsque vous ajoutez MFA, le serveur d’autorisation Auth0 rejette la requête initiale d’échange de jetons personnalisé vers le endpoint `/token` avec une erreur `mfa_required`. Vous pouvez utiliser cette erreur dans l’[API MFA Auth0](/docs/fr-ca/secure/multi-factor-authentication/multi-factor-authentication-developer-resources/mfa-api) pour lancer une demande de vérification, puis vérifier un facteur afin d’obtenir les jetons d’accès, d’ID et d’actualisation Auth0 demandés.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  L’échange de jetons personnalisé ne prend pas en charge `api.authentication.challengeWith()` ni `api.authentication.enrollWith()`. Si vous utilisez ces méthodes avec votre Action post-login, la transaction échouera avec une erreur non récupérable. Assurez-vous de ne pas utiliser ces méthodes lorsque `event.transaction.protocol==oauth2-token-exchange`, selon la valeur de `subject_token_type`.
</Callout>

Lorsqu’une transaction d’échange de jetons personnalisé est associée à une organisation, `api.multifactor.enable()` et les politiques MFA ne sont pas pris en charge non plus.

Pour en savoir plus sur l’utilisation du grant MFA, consultez [S’authentifier à l’aide du flux Resource Owner Password avec MFA](/docs/fr-ca/secure/multi-factor-authentication/authenticate-using-ropg-flow-with-mfa), car l’échange de jetons personnalisé suit le même modèle. Vous pouvez aussi consulter un exemple détaillé dans [Cas d’utilisation : effectuer MFA pendant l’échange de jetons personnalisé](/docs/fr-ca/authenticate/custom-token-exchange/cte-example-use-cases#use-case%3A-perform-mfa-during-custom-token-exchange).
