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

# Ajouter un authentificateur

> Associer un nouvel authentificateur à un utilisateur pour activer l’authentification multifacteur (MFA).

export const ResponseSchema = ({statusCode, type = "{}", children}) => {
  const [open, setOpen] = useState(false);
  return <div className="border border-gray-100 dark:border-gray-800 rounded-lg mb-3 overflow-hidden">
      <div className={`flex items-center gap-2.5 px-4 py-2.5 cursor-pointer select-none ${open ? "bg-gray-50 dark:bg-gray-800" : ""}`} onClick={() => setOpen(!open)}>
        {statusCode && <span className="border border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 font-mono text-xs px-1.5 py-0.5 rounded">
            {statusCode.startsWith("default") ? "default" : statusCode}
          </span>}
        <span className="text-gray-500 dark:text-gray-400 text-sm font-mono">
          {type}
        </span>
        <span className="text-gray-400 dark:text-gray-500 text-sm italic">
          application/json
        </span>
        <svg className={`ml-auto opacity-50 transition-transform duration-200 ${open ? "rotate-180" : ""}`} width="16" height="16" viewBox="0 0 16 16" fill="none">
          <path d="M4 6l4 4 4-4" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
        </svg>
      </div>
      {open && <div className="px-4 pt-1 pb-3 border-t border-gray-100 dark:border-gray-800">
          {children}
        </div>}
    </div>;
};

<div id="endpoint">
  ## Point de terminaison
</div>

`POST /mfa/associate`

Associe ou ajoute un nouvel authentificateur pour l’authentification multifacteur (MFA).

Si l’utilisateur a des authentificateurs actifs, un Jeton d’accès avec le scope `enroll` et `audience` défini sur `https://{yourDomain}/mfa/` est requis pour utiliser ce point de terminaison.

Si l’utilisateur n’a aucun authentificateur actif, vous pouvez utiliser le `mfa_token` de l’erreur `mfa_required` à la place d’un Jeton d’accès pour cette requête.

Après l’ajout d’un authentificateur, celui-ci doit être vérifié. Pour vérifier l’authentificateur, utilisez les valeurs de réponse de la requête `/mfa/associate` à la place des valeurs renvoyées par le point de terminaison `/mfa/challenge`, puis poursuivez le flux de vérification.

Un champ `recovery_codes` est inclus dans la réponse la première fois qu’un authentificateur est ajouté. Vous pouvez utiliser `recovery_codes` pour effectuer l’authentification multifacteur, comme indiqué ci-dessus dans [Vérifier avec un code de récupération](/fr-CA/multi-factor-authentication/verify-with-recovery-code).

Pour accéder à ce point de terminaison, vous devez définir un Jeton d’accès dans l’en-tête Authorization, avec les claims suivantes :

* `scope`: `enroll`
* `audience`: `https://{yourDomain}/mfa/`

<div id="body-parameters">
  ## Paramètres du corps
</div>

<ParamField body="client_id" type="string" required>
  L’ID client de votre application.
</ParamField>

<ParamField body="client_assertion" type="string">
  Un JWT contenant une assertion signée avec les identifiants de votre application. Obligatoire lorsque JWT avec clé privée est la méthode d’authentification de votre application.
</ParamField>

<ParamField body="client_assertion_type" type="string">
  La valeur est `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`. Obligatoire lorsque JWT avec clé privée est la méthode d’authentification de l’application.
</ParamField>

<ParamField body="client_secret" type="string" required>
  Le Secret client de votre application. Obligatoire lorsque le champ Méthode d’authentification du point de terminaison du jeton dans les paramètres de votre application est défini sur `Post` ou `Basic`.
</ParamField>

<ParamField body="authenticator_types" type="array" required>
  La valeur est un tableau contenant les valeurs 'otp' ou 'oob'.
</ParamField>

<ParamField body="oob_channels" type="array">
  Obligatoire si `authenticator_types` inclut `oob`.
</ParamField>

<ParamField body="phone_number" type="string">
  Le numéro de téléphone à utiliser pour les SMS ou les appels vocaux. Obligatoire si `oob_channels` inclut `sms` ou `voice`.
</ParamField>

<div id="response-schema">
  ## Schéma de réponse
</div>

<ResponseSchema>
  <ResponseField name="oob_code" type="string">
    Le code d’authentification hors bande.
  </ResponseField>

  <ResponseField name="binding_method" type="string">
    Indique la méthode de liaison.
  </ResponseField>

  <ResponseField name="authenticator_type" type="string">
    Le type d’authentificateur.
  </ResponseField>

  <ResponseField name="oob_channels" type="string">
    Les canaux OOB utilisés par l’authentificateur.
  </ResponseField>

  <ResponseField name="recovery_codes" type="array">
    Un tableau de codes de récupération générés par Auth0 pour l’utilisateur. Lorsqu’un utilisateur ajoute un authentificateur, les codes de récupération ne s’affichent qu’une seule fois.
  </ResponseField>
</ResponseSchema>

<div id="response-messages">
  ## Messages de réponse
</div>

| Statut | Description                                                          |
| ------ | -------------------------------------------------------------------- |
| 200    | Réponse réussie à l’ajout d’un authentificateur.                     |
| 400    | Requête incorrecte en raison de paramètres manquants ou non valides. |
| 401    | Non autorisé : jeton d’accès ou `mfa_token` invalide.                |
