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

# ResetPasswordMfaWebAuthnPlatformChallenge

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/generaltranslationinc/KrAMlK2KdiUaZm4a/docs/images/cdy7uua7fh8z/7aNLJSP1f1xmQI9RIc7bQh/98db8a7a627e84896b50cf219497c345/Screenshot_2025-05-28_at_12.43.54.png?fit=max&auto=format&n=KrAMlK2KdiUaZm4a&q=85&s=6b284174dfcd7771b67c47b04640d9ad" alt="" width="363" height="493" data-path="docs/images/cdy7uua7fh8z/7aNLJSP1f1xmQI9RIc7bQh/98db8a7a627e84896b50cf219497c345/Screenshot_2025-05-28_at_12.43.54.png" />
</Frame>

ResetPasswordMfaWebAuthnPlatformChallenge

```ts Example theme={null}
// Assuming 'sdk' is an instance of ResetPasswordMfaWebAuthnPlatformChallenge
try {
  await sdk.continueWithPasskey({
    rememberDevice: true // si l'utilisateur a coché la case et que sdk.screen.showRememberDevice est à true
  });
  // On success, Auth0 handles redirection.
} catch (error) {
  console.error("Platform authenticator verification failed:", error);
  // If it's a WebAuthn API error (DOMException), report it
  if (error instanceof DOMException && error.name && error.message) { // DOMException check
    await sdk.reportBrowserError({ error: { name: error.name, message: error.message } });
  }
  // Check sdk.transaction.errors for server-side validation messages if the page reloads.
}
```

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

<ParamField body="ResetPasswordMfaWebAuthnPlatformChallenge" type="Constructor">
  Initialise une nouvelle instance de la classe `ResetPasswordMfaWebAuthnPlatformChallenge`.
  Elle récupère le contexte nécessaire (écran, transaction, etc.) à partir du contexte global `universal_login_context`
  et configure les propriétés spécifiques à l’écran au moyen de `ScreenOverride`.

  <div id="throws">
    #### Exceptions levées
  </div>

  Si le contexte Universal Login n’est pas disponible ou si le nom de l’écran
  dans le contexte ne correspond pas à `ResetPasswordMfaWebAuthnPlatformChallenge.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/ScreenMembersOnResetPasswordMfaWebAuthnPlatformChallenge">ScreenMembersOnResetPasswordMfaWebAuthnPlatformChallenge</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="continueWithPasskey" type="Promise<void>">
  Initialise le challenge de l’authentificateur de plateforme WebAuthn en appelant `navigator.credentials.get()`
  à l’aide des options de challenge fournies dans `screen.publicKey`.
  En cas de réussite, il soumet à Auth0 l’assertion d’informations d’identification résultante avec `action: "default"`.

  Une promesse qui se résout lorsque la tentative de vérification est envoyée.
  Une opération réussie entraîne généralement une redirection.

  <div id="throws">
    #### Exceptions levées
  </div>

  Lève une erreur si `screen.publicKey` est manquant,
  si `navigator.credentials.get()` échoue (p. ex., annulation par l’utilisateur (`NotAllowedError`)),
  ou si l’envoi du formulaire à Auth0 échoue. Si `navigator.credentials.get()` échoue
  avec une `DOMException`, il est recommandé d’intercepter cette erreur et d’appeler `reportBrowserError`.

  ```typescript Example theme={null}
  // En supposant que 'sdk' est une instance de ResetPasswordMfaWebAuthnPlatformChallenge
  try {
    await sdk.continueWithPasskey({
      rememberDevice: true // si l’utilisateur a coché la case et que sdk.screen.showRememberDevice est true
    });
    // En cas de succès, Auth0 gère la redirection.
  } catch (error) {
    console.error("Échec de la vérification de l’authentificateur de plateforme :", error);
    // S'il s'agit d'une erreur de l'API WebAuthn (DOMException), signalez-la
    if (error instanceof DOMException && error.name && error.message) { // vérification DOMException
      await sdk.reportBrowserError({ error: { name: error.name, message: error.message } });
    }
    // Vérifiez sdk.transaction.errors pour les messages de validation côté serveur si la page se recharge.
  }
  ```

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

      <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’en existe aucune.

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

<ParamField body="reportBrowserError" type="Promise<void>">
  Signale une erreur côté navigateur survenue pendant l’appel à l’API `navigator.credentials.get()`.
  Ceci est utilisé pour informer Auth0 de problèmes tels que l’annulation par l’utilisateur (`NotAllowedError`),
  un délai d’attente ou d’autres erreurs propres à l’API WebAuthn.
  Il soumet les détails de l’erreur avec `action: "showError::{errorDetailsJsonString}"`.

  Une promesse qui se résout lorsque le rapport d’erreur est soumis avec succès.

  <div id="throws">
    #### Exceptions levées
  </div>

  Si l’envoi du formulaire échoue (p. ex., erreur réseau, état non valide).

  ```typescript Example theme={null}
  // Dans votre composant d’interface utilisateur, dans le bloc catch de navigator.credentials.get() :
  // } catch (webAuthnError) {
  //   if (webAuthnError instanceof DOMException) {
  //     await sdk.reportBrowserError({
  //       error: { name: webAuthnError.name, message: webAuthnError.message }
  //     });
  //   } else {
  //     // Gérer d'autres types d'erreurs
  //   }
  // }
  ```

  <Expandable title="Paramètres">
    <ParamField body="options" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnPlatformChallengeReportErrorOptions">ResetPasswordMfaWebAuthnPlatformChallengeReportErrorOptions</a></span>}>
      Un objet contenant :

      * `error` : un objet `WebAuthnErrorDetails` avec au moins les propriétés `name` et `message`
        provenant de la `DOMException` levée par `navigator.credentials.get()`.
      * Tous les autres `CustomOptions` à inclure dans l’envoi du formulaire.

      **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 provenant de l’API WebAuthn (`navigator.credentials.get()`)
        à signaler. Doit inclure `name` et `message`.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  Permet à l'utilisateur de se soustraire au défi de l'authentificateur de plateforme WebAuthn et de sélectionner
  une autre méthode d'AMF (MFA) pour vérifier son identité lors de la réinitialisation du mot de passe.
  Cette action envoie `action: "pick-authenticator"` à Auth0, ce qui doit rediriger
  l'utilisateur vers un écran de sélection d’un facteur d'AMF.

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

  #### Déclenche

  Si l'envoi du formulaire échoue (p. ex., erreur réseau, état invalide).

  ```typescript Example theme={null}
  // Dans votre composant d’interface utilisateur, lorsqu’un bouton « Try Another Method » est cliqué :
  try {
    await sdk.tryAnotherMethod();
    // En cas de succès, Auth0 gère la redirection vers l’écran de sélection du facteur d’AMF.
  } catch (error) {
    console.error("Impossible de changer de méthode d’AMF :", error);
  }
  ```

  <Expandable title="Paramètres">
    <ParamField body="options?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnPlatformChallengeTryAnotherMethodOptions">ResetPasswordMfaWebAuthnPlatformChallengeTryAnotherMethodOptions</a></span>}>
      Optionnel. Tous les paramètres personnalisés à envoyer avec la requête.
      Ils seront inclus dans les données du formulaire.
    </ParamField>
  </Expandable>
</ParamField>
