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

# MfaWebAuthnPlatformChallenge

```ts Example theme={null}
import MfaWebAuthnPlatformChallenge from "@auth0/auth0-acul-js/mfa-webauthn-platform-challenge";

const mfaWebAuthnPlatformChallengeManager = new MfaWebAuthnPlatformChallenge();
```

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

<ParamField body="MfaWebAuthnPlatformChallenge" type="Constructor">
  Initialise une nouvelle instance de la classe `MfaWebAuthnPlatformChallenge`.
  Récupère le contexte nécessaire (écran, transaction, etc.) à partir du `universal_login_context` global.

  <div id="throws">
    #### Lève
  </div>

  Si le contexte Universal Login n’est pas disponible ou si le nom de l’écran
  dans le contexte ne correspond pas à `MfaWebAuthnPlatformChallenge.screenIdentifier`.
</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/ScreenMembersOnMfaWebAuthnPlatformChallenge">ScreenMembersOnMfaWebAuthnPlatformChallenge</a></span>} />

<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/UntrustedDataMembers">UntrustedDataMembers</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">
  static
</ParamField>

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

<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 la transaction à partir du contexte, ou un tableau vide si aucune n'existe.

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

<ParamField body="reportBrowserError" type="Promise<void>">
  Signale une erreur côté navigateur rencontrée pendant l'opération WebAuthn `navigator.credentials.get()`.
  Cette méthode doit être appelée lorsque `verify()` échoue en raison d'une erreur de l'API WebAuthn (par exemple, annulation par l'utilisateur).
  Elle envoie les détails de l'erreur au serveur avec un format d'action spécifique.

  Une promesse résolue lorsque le rapport d'erreur est soumis avec succès.

  <div id="throws">
    #### Lève
  </div>

  Lève une erreur si l'envoi du formulaire échoue (par exemple, problème de réseau, `state` invalide).

  <Expandable title="Paramètres">
    <ParamField body="options" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/MfaWebAuthnPlatformChallengeReportErrorOptions">MfaWebAuthnPlatformChallengeReportErrorOptions</a></span>}>
      Contient l'objet `error` (avec les propriétés `name` et `message`
      provenant de la DOMException de l'API WebAuthn du navigateur) et tout autre paramètre personnalisé.
      L'objet `error` sera sérialisé en JSON et intégré dans le paramètre `action`.

      **Propriétés**

      <ParamField body="error" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/WebAuthnErrorDetails">WebAuthnErrorDetails</a></span>}>
        L'objet d'erreur de l'API WebAuthn (`navigator.credentials.get()`) à signaler.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  Permet à l'utilisateur de se soustraire au défi de la plateforme WebAuthn et de sélectionner une autre méthode d'AMF (MFA).
  Cette action soumet `action: "pick-authenticator"` à Auth0, ce qui devrait amener
  l'utilisateur vers un écran de sélection de facteur AMF.

  Une promesse résolue lorsque l'action `pick-authenticator` est soumise.

  <div id="throws">
    #### Lève
  </div>

  Lève une erreur si l'envoi du formulaire échoue (par exemple, erreur réseau, `state` invalide).

  <Expandable title="Paramètres">
    <ParamField body="options?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/MfaWebAuthnPlatformChallengeTryAnotherMethodOptions">MfaWebAuthnPlatformChallengeTryAnotherMethodOptions</a></span>}>
      Facultatif. Tout paramètre personnalisé à envoyer avec la requête.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="verify" type="Promise<void>">
  Initie le défi de l'authentificateur de plateforme WebAuthn.
  En interne, cette méthode récupère les options de défi à partir de `this.screen.publicKey`,
  appelle `navigator.credentials.get()` (via l'utilitaire `getPasskeyCredentials`),
  puis soumet l'assertion d'identification résultante au serveur Auth0.

  Une promesse résolue lorsque l'envoi des justificatifs est initié.
  Une opération réussie entraîne généralement une redirection côté serveur.

  <div id="throws">
    #### Lève
  </div>

  Lève une erreur si `this.screen.publicKey` n'est pas disponible (ce qui indique que les options de défi sont manquantes),
  si `getPasskeyCredentials` (et donc `navigator.credentials.get()`) échoue (par exemple, annulation par l'utilisateur,
  aucun authentificateur trouvé, erreur matérielle), ou si l'envoi final du formulaire à Auth0 échoue.
  Il est crucial d'intercepter les erreurs renvoyées par cette méthode. Les erreurs de l'API WebAuthn (comme `NotAllowedError`)
  devraient idéalement être signalées en utilisant `this.reportBrowserError()`.

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

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