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

# MfaVoiceChallenge

Implémentation de l'écran de défi vocal AMF (MFA).

Cet écran s'affiche lorsqu'un utilisateur doit vérifier son identité au moyen d'un appel vocal
dans le cadre d'un processus d'authentification multifacteur.

```ts Example theme={null}
const mfaVoiceChallenge = new MfaVoiceChallenge();
mfaVoiceChallenge.continue({
  code: '123456',
  rememberDevice: true
});
```

<div id="constructors">
  ## Constructeurs
</div>

<ParamField body="MfaVoiceChallenge" type="Constructor">
  Crée une nouvelle instance de MfaVoiceChallenge.
</ParamField>

<div id="properties">
  ## Propriétés
</div>

<ParamField body="branding" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/BrandingMembers">BrandingMembers</a></span>} />

<ParamField body="client" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ClientMembers">ClientMembers</a></span>} />

<ParamField body="organization" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/OrganizationMembers">OrganizationMembers</a></span>} />

<ParamField body="prompt" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/PromptMembers">PromptMembers</a></span>} />

<ParamField body="screen" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ScreenMembersOnMfaVoiceChallenge">ScreenMembersOnMfaVoiceChallenge</a></span>}>
  Propriétés et données propres à l'écran.
</ParamField>

<ParamField body="tenant" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/TenantMembers">TenantMembers</a></span>} />

<ParamField body="transaction" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/TransactionMembers">TransactionMembers</a></span>} />

<ParamField body="untrustedData" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/UntrustedDataMembersOnMfaVoiceChallenge">UntrustedDataMembersOnMfaVoiceChallenge</a></span>} />

<ParamField body="user" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/UserMembers">UserMembers</a></span>} />

<ParamField body="screenIdentifier" type="string">
  Identifiant d'écran pour la validation et la télémétrie
</ParamField>

<div id="methods">
  ## Méthodes
</div>

<ParamField body="continue" type="Promise<void>">
  Soumet le code de vérification vocal pour valider le défi d’authentification multifacteur (AMF, MFA).

  Promesse renvoyée lorsque le code est validé avec succès

  ```typescript Example theme={null}
  const mfaVoiceChallenge = new MfaVoiceChallenge();
  mfaVoiceChallenge.continue({
    code: '123456',
    rememberDevice: true
  });
  ```

  <Expandable title="Paramètres">
    <ParamField body="payload" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/MfaVoiceChallengeContinueOptions">MfaVoiceChallengeContinueOptions</a></span>}>
      **Propriétés**

      <ParamField body="code" type="string" />

      <ParamField body="rememberDevice?" type="boolean" />
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="getErrors" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/Error">Error</a>[]</span>}>
  Récupère le tableau des erreurs de transaction à partir du contexte, ou un tableau vide s’il n’y en a aucune.

  Un tableau d’objets d’erreur provenant du contexte de transaction.
</ParamField>

<ParamField body="pickPhone" type="Promise<void>">
  Navigue vers l’écran permettant de sélectionner un autre numéro de téléphone.

  Promesse renvoyée lorsque la navigation est terminée

  ```typescript Example theme={null}
  const mfaVoiceChallenge = new MfaVoiceChallenge();
  mfaVoiceChallenge.pickPhone();
  ```

  <Expandable title="Paramètres">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      Paramètres personnalisés optionnels
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="resendCode" type="Promise<void>">
  Demande un nouvel appel vocal avec un code de vérification.

  Promesse renvoyée lorsque le nouveau code est envoyé

  ```typescript Example theme={null}
  const mfaVoiceChallenge = new MfaVoiceChallenge();
  mfaVoiceChallenge.resendCode();
  ```

  <Expandable title="Paramètres">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      Paramètres personnalisés optionnels
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="resendManager" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ResendControl">ResendControl</a></span>}>
  **`Utility Feature`**

  Fournit la fonctionnalité de renvoi avec gestion du délai d’attente pour cet écran

  Objet ResendControl avec la méthode startResend

  ```typescript Example theme={null}
  import MfaVoiceChallenge from '@auth0/auth0-acul-js/mfa-voice-challenge';

  const mfaVoiceChallenge = new MfaVoiceChallenge();
  const { startResend } = mfaVoiceChallenge.resendManager({
    timeoutSeconds: 15,
    onStatusChange: (remainingSeconds, isDisabled) => {
      console.log(`Renvoi disponible dans ${remainingSeconds}s, désactivé : ${isDisabled}`);
    },
    onTimeout: () => {
      console.log('Le renvoi est maintenant disponible');
    }
  });

  // Appelez startResend lorsque l’utilisateur clique sur le bouton de renvoi
  startResend();
  ```

  <Expandable title="Paramètres">
    <ParamField body="options?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/StartResendOptions">StartResendOptions</a></span>}>
      Options de configuration pour la fonctionnalité de renvoi

      **Propriétés**

      <ParamField body="onStatusChange?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/type-aliases/OnStatusChangeCallback">OnStatusChangeCallback</a></span>} />

      <ParamField body="onTimeout" type="void" />

      <ParamField body="timeoutSeconds?" type="number" />
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="switchToSms" type="Promise<void>">
  Passe à la méthode de vérification par SMS au lieu de l’appel vocal.

  Promesse renvoyée lorsque le changement est terminé

  ```typescript Example theme={null}
  const mfaVoiceChallenge = new MfaVoiceChallenge();
  mfaVoiceChallenge.switchToSms();
  ```

  <Expandable title="Paramètres">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      Paramètres personnalisés optionnels
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  Accède à l'écran permettant de sélectionner une autre méthode d’AMF (MFA).

  Promesse renvoyée une fois la navigation terminée

  ```typescript Example theme={null}
  const mfaVoiceChallenge = new MfaVoiceChallenge();
  mfaVoiceChallenge.tryAnotherMethod();
  ```

  <Expandable title="Paramètres">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      Paramètres personnalisés facultatifs
    </ParamField>
  </Expandable>
</ParamField>
