> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# MfaWebAuthnRoamingChallengeMembers

MfaWebAuthnRoamingChallengeMembers

````ts Example theme={null}
export interface MfaWebAuthnRoamingChallengeMembers extends BaseMembers {
  /**
   * Propriétés et données propres à l'écran, y compris les options de défi WebAuthn.
   * @type {ScreenMembersOnMfaWebAuthnRoamingChallenge}
   */
  screen: ScreenMembersOnMfaWebAuthnRoamingChallenge;

  /**
   * Lance le défi WebAuthn en appelant `navigator.credentials.get()` avec les
   * options fournies dans `screen.data.publicKeyChallengeOptions`.
   * En cas de succès, soumet les informations d'identification résultantes à Auth0 avec `action: "default"`.
   * Si `navigator.credentials.get()` échoue avec une erreur d'API WebAuthn connue (comme `NotAllowedError`),
   * cette méthode appellera `reportWebAuthnError` en interne pour en informer Auth0.
   *
   * @param {VerifySecurityKeyOptions} [options] - Paramètres facultatifs pour le processus de vérification,
   * tels que `rememberDevice` et d'autres options personnalisées.
   * @returns {Promise<void>} Une promesse qui se résout lorsque la tentative de vérification est soumise.
   *                          Elle ne retourne pas directement de données, car une opération réussie entraîne généralement une redirection.
   * @throws {Error} Génère une erreur si `screen.data.publicKeyChallengeOptions` est absent,
   *                 si `navigator.credentials.get()` échoue avec une erreur inattendue,
   *                 ou si la soumission du formulaire à Auth0 échoue.
   *
   * @example
   * ```typescript
   * // En supposant que 'sdk' est une instance de MfaWebAuthnRoamingChallenge
   * try {
   *   await sdk.verify({ rememberDevice: true });
   *   // En cas de succès, Auth0 gère la redirection.
   * } catch (error) {
   *   console.error("Échec de la vérification de la clé de sécurité :", error);
   *   // Vérifiez sdk.transaction.errors pour les messages de validation côté serveur si la page se recharge.
   * }
   * ```
   */
  verify(options?: VerifySecurityKeyOptions): Promise<void>;

  /**
   * Signale une erreur d'API WebAuthn spécifique à Auth0.
   * Cette méthode doit être utilisée si `navigator.credentials.get()` échoue d'une façon que
   * `verify()` ne gère pas automatiquement, ou si le développeur souhaite signaler explicitement
   * une erreur avant de tenter une autre action.
   * Elle soumet les détails de l'erreur avec `action: "showError::{errorDetails}"`.
   *
   * @param {ReportWebAuthnErrorOptions} options - Contient l'objet `error` avec `name` et `message`
   * provenant de l'API WebAuthn, ainsi que toute autre option personnalisée.
   * @returns {Promise<void>} Une promesse qui se résout lorsque le rapport d'erreur est soumis.
   * @throws {Error} Génère une erreur si la soumission du formulaire échoue.
   *
   * @example
   * ```typescript
   * // En supposant que 'sdk' est une instance de MfaWebAuthnRoamingChallenge
   * // Et que webAuthnError est un objet d'erreur provenant d'un appel échoué à navigator.credentials.get().
   * try {
   *   await sdk.reportWebAuthnError({
   *     error: { name: webAuthnError.name, message: webAuthnError.message }
   *   });
   * } catch (submitError) {
   *   console.error("Échec du signalement de l'erreur WebAuthn :", submitError);
   * }
   * ```
   */
  reportWebAuthnError(options: ReportWebAuthnErrorOptions): Promise<void>;

  /**
   * Permet à l'utilisateur de se soustraire au défi WebAuthn et de sélectionner une méthode d'AMF différente.
   * Cette action soumet `action: "pick-authenticator"` à Auth0, ce qui devrait diriger
   * l'utilisateur vers un écran de sélection de facteur d'AMF.
   *
   * @param {TryAnotherMethodOptions} [options] - Paramètres personnalisés facultatifs pour la requête.
   * @returns {Promise<void>} Une promesse qui se résout lorsque l'action est soumise.
   * @throws {Error} Génère une erreur si la soumission du formulaire échoue.
   *
   * @example
   * ```typescript
   * // En supposant que 'sdk' est une instance de MfaWebAuthnRoamingChallenge
   * try {
   *   await sdk.tryAnotherMethod();
   *   // En cas de succès, Auth0 gère la redirection vers la sélection d'AMF.
   * } catch (error) {
   *   console.error("Échec du changement de méthode d'AMF :", error);
   * }
   * ```
   */
  tryAnotherMethod(options?: TryAnotherMethodOptions): Promise<void>;
}
````

<h2 id="properties">
  Propriétés
</h2>

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

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

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

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

<ParamField body="screen" type={<span><a href="/docs/fr-ca/libraries/acul/js-sdk/Screens/interfaces/ScreenMembersOnMfaWebAuthnRoamingChallenge">ScreenMembersOnMfaWebAuthnRoamingChallenge</a></span>}>
  Propriétés et données propres à l’écran, y compris les options du défi WebAuthn.
</ParamField>

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

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

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

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

<h2 id="methods">
  Méthodes
</h2>

<ParamField body="reportWebAuthnError" type="Promise<void>">
  Signale à Auth0 une erreur précise de l’API WebAuthn.
  Cette méthode doit être utilisée si `navigator.credentials.get()` échoue d’une façon que
  `verify()` ne gère pas automatiquement, ou si le développeur veut
  signaler explicitement une erreur avant de tenter une autre action.
  Elle soumet les détails de l’erreur avec `action: "showError::{errorDetails}"`.

  Une promesse qui se résout lorsque le signalement de l’erreur est soumis.

  <h4 id="throws">
    Lève
  </h4>

  Lève une erreur si la soumission du formulaire échoue.

  ```typescript Example theme={null}
  // En supposant que 'sdk' est une instance de MfaWebAuthnRoamingChallenge
  // Et que webAuthnError est un objet d’erreur provenant d’un appel échoué à navigator.credentials.get().
  try {
    await sdk.reportWebAuthnError({
      error: { name: webAuthnError.name, message: webAuthnError.message }
    });
  } catch (submitError) {
    console.error("Failed to report WebAuthn error:", submitError);
  }
  ```

  <Expandable title="Paramètres">
    <ParamField body="options" type={<span><a href="/docs/fr-ca/libraries/acul/js-sdk/Screens/interfaces/MfaWebAuthnRoamingChallengeReportErrorOptions">MfaWebAuthnRoamingChallengeReportErrorOptions</a></span>}>
      Contient l’objet `error` avec `name` et `message`
      de l’API WebAuthn, ainsi que toute autre option personnalisée.

      **Propriétés**

      <ParamField body="error" type={<span><a href="/docs/fr-ca/libraries/acul/js-sdk/Screens/interfaces/WebAuthnErrorDetails">WebAuthnErrorDetails</a></span>}>
        L’objet d’erreur de l’API WebAuthn à signaler.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  Permet à l’utilisateur de renoncer au défi WebAuthn et de sélectionner une autre méthode d’AMF.
  Cette action soumet `action: "pick-authenticator"` à Auth0, ce qui devrait diriger
  l’utilisateur vers un écran de sélection du facteur d’AMF.

  Une promesse qui se résout lorsque l’action est soumise.

  <h4 id="throws-2">
    Lève
  </h4>

  Lève une erreur si la soumission du formulaire échoue.

  ```typescript Example theme={null}
  // En supposant que 'sdk' est une instance de MfaWebAuthnRoamingChallenge
  try {
    await sdk.tryAnotherMethod();
    // En cas de succès, Auth0 gère la redirection vers la sélection AMF.
  } catch (error) {
    console.error("Failed to switch MFA method:", error);
  }
  ```

  <Expandable title="Paramètres">
    <ParamField body="options?" type={<span><a href="/docs/fr-ca/libraries/acul/js-sdk/Screens/interfaces/MfaWebAuthnRoamingChallengeTryAnotherMethodOptions">MfaWebAuthnRoamingChallengeTryAnotherMethodOptions</a></span>}>
      Paramètres personnalisés facultatifs pour la requête.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="verify" type="Promise<void>">
  Lance le défi WebAuthn en appelant `navigator.credentials.get()` avec les
  options fournies dans `screen.data.publicKeyChallengeOptions`.
  Si l’opération réussit, les informations d’identification obtenues sont soumises à Auth0 avec `action: "default"`.
  Si `navigator.credentials.get()` échoue avec une erreur connue de l’API WebAuthn (comme `NotAllowedError`),
  cette méthode appelle `reportWebAuthnError` en interne pour en informer Auth0.

  Une promesse qui se résout lorsque la tentative de vérification est soumise.
  Elle ne retourne pas directement de données, puisqu’une opération réussie entraîne généralement une redirection.

  <h4 id="throws-3">
    Lève
  </h4>

  Lève une erreur si `screen.data.publicKeyChallengeOptions` est absent,
  si `navigator.credentials.get()` échoue avec une erreur inattendue,
  ou si la soumission du formulaire à Auth0 échoue.

  ```typescript Example theme={null}
  // En supposant que 'sdk' est une instance de MfaWebAuthnRoamingChallenge
  try {
    await sdk.verify({ rememberDevice: true });
    // En cas de succès, Auth0 gère la redirection.
  } catch (error) {
    console.error("Security key verification failed:", error);
    // 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/fr-ca/libraries/acul/js-sdk/Screens/interfaces/VerifySecurityKeyOptions">VerifySecurityKeyOptions</a></span>}>
      Paramètres facultatifs du processus de vérification,
      comme `rememberDevice` et d’autres options personnalisées.

      **Propriétés**

      <ParamField body="rememberDevice?" type="boolean">
        Facultatif. Si true, tente de mémoriser le navigateur pour les prochains défis d’AMF.
        Correspond au champ de formulaire `rememberBrowser`.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>
