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

# ResetPasswordMfaWebAuthnRoamingChallengeMembers

ResetPasswordMfaWebAuthnRoamingChallengeMembers

```ts Example theme={null}
export interface ResetPasswordMfaWebAuthnRoamingChallengeMembers extends BaseMembers {

  /**
 * Access to the specific properties and data of the `reset-password-mfa-webauthn-roaming-challenge` screen,
 * including WebAuthn `publicKey` challenge options and the `showRememberDevice` flag.
 * @type {ScreenMembersOnResetPasswordMfaWebAuthnRoamingChallenge}
 */
  screen: ScreenMembersOnResetPasswordMfaWebAuthnRoamingChallenge;

  /**
   * Initiates the WebAuthn assertion process (security key challenge).
   * This method will internally call `navigator.credentials.get()` using the challenge
   * provided in `screen.publicKey`.
   * On successful interaction with the security key, it submits the resulting
   * `PublicKeyCredential` to Auth0 with `action: "default"`.
   *
   * @param {UseSecurityKeyOptions} [options] - Optional. Parameters for the operation,
   * such as `rememberDevice` (if `screen.showRememberDevice` is true) and other custom options.
   * The `response` field (the WebAuthn credential) is handled internally by the SDK.
   * @returns {Promise<void>} A promise that resolves when the verification attempt is submitted.
   * A successful operation typically results in a redirect by Auth0.
   * @throws {Error} Throws an error if `screen.publicKey` is missing, if `navigator.credentials.get()`
   * fails (e.g., user cancellation, no authenticator found), or if the form submission to Auth0 fails.
   * It's recommended to catch these errors and potentially use `showError()` to report WebAuthn API specific issues.
   */
  useSecurityKey(options?: UseSecurityKeyOptions): Promise<void>;

  /**
   * Reports a client-side WebAuthn API error (from `navigator.credentials.get()`) to Auth0.
   * This method should be used when `useSecurityKey()` (or a manual `navigator.credentials.get()` call)
   * fails due to a browser-side WebAuthn issue (e.g., `NotAllowedError` if the user cancels the prompt,
   * `NotFoundError` if no matching authenticator is found, or a timeout).
   * It submits the error details with `action: "showError::{errorDetailsJsonString}"` and an empty `response`.
   *
   * @param {ShowErrorOptions} options - Contains the `error` object (with `name` and `message`
   * from the WebAuthn API DOMException), an optional `rememberDevice` flag, and any other custom options.
   * @returns {Promise<void>} A promise that resolves when the error report is submitted.
   * Auth0 may re-render the page with error information or redirect.
   * @throws {Error} Throws an error if the form submission fails (e.g., network error, invalid state).
   */
  showError(options: ShowErrorOptions): Promise<void>;

  /**
   * Allows the user to opt-out of the WebAuthn roaming challenge and select a different MFA method.
   * This action submits `action: "pick-authenticator"` to Auth0, which should navigate
   * the user to an MFA factor selection screen.
   *
   * @param {TryAnotherMethodOptions} [options] - Optional. Parameters for the operation,
   * such as `rememberDevice` (if `screen.showRememberDevice` is true) and other custom options.
   * @returns {Promise<void>} A promise that resolves when the 'pick-authenticator' action is submitted.
   * @throws {Error} Throws an error if the form submission fails.
   */
  tryAnotherMethod(options?: TryAnotherMethodOptions): Promise<void>;
}
```

## Properties

<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/ScreenMembersOnResetPasswordMfaWebAuthnRoamingChallenge">ScreenMembersOnResetPasswordMfaWebAuthnRoamingChallenge</a></span>}>
  Access to the specific properties and data of the `reset-password-mfa-webauthn-roaming-challenge` screen,
  including WebAuthn `publicKey` challenge options and the `showRememberDevice` flag.
</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/UntrustedDataMembers">UntrustedDataMembers</a></span>} />

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

## Methods

<ParamField body="showError" type="Promise<void>">
  Reports a client-side WebAuthn API error (from `navigator.credentials.get()`) to Auth0.
  This method should be used when `useSecurityKey()` (or a manual `navigator.credentials.get()` call)
  fails due to a browser-side WebAuthn issue (e.g., `NotAllowedError` if the user cancels the prompt,
  `NotFoundError` if no matching authenticator is found, or a timeout).
  It submits the error details with `action: "showError::{errorDetailsJsonString}"` and an empty `response`.

  A promise that resolves when the error report is submitted.
  Auth0 may re-render the page with error information or redirect.

  #### Throws

  Throws an error if the form submission fails (e.g., network error, invalid state).

  <Expandable title="Parameters">
    <ParamField body="options" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnRoamingChallengeShowErrorOptions">ResetPasswordMfaWebAuthnRoamingChallengeShowErrorOptions</a></span>}>
      Contains the `error` object (with `name` and `message`
      from the WebAuthn API DOMException), an optional `rememberDevice` flag, and any other custom options.

      **Properties**

      <ParamField body="error" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/WebAuthnErrorDetails">WebAuthnErrorDetails</a></span>}>
        The error object from the WebAuthn API (`navigator.credentials.get()`)
        containing `name` and `message` of the DOMException.
      </ParamField>

      <ParamField body="rememberDevice?" type="boolean">
        Optional. If `true` and `screen.showRememberDevice` is also `true`,
        the SDK will include `rememberBrowser=true` in the form submission.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  Allows the user to opt-out of the WebAuthn roaming challenge and select a different MFA method.
  This action submits `action: "pick-authenticator"` to Auth0, which should navigate
  the user to an MFA factor selection screen.

  A promise that resolves when the 'pick-authenticator' action is submitted.

  #### Throws

  Throws an error if the form submission fails.

  <Expandable title="Parameters">
    <ParamField body="options?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnRoamingChallengeTryAnotherMethodOptions">ResetPasswordMfaWebAuthnRoamingChallengeTryAnotherMethodOptions</a></span>}>
      Optional. Parameters for the operation,
      such as `rememberDevice` (if `screen.showRememberDevice` is true) and other custom options.

      **Properties**

      <ParamField body="rememberDevice?" type="boolean">
        Optional. If `true` and `screen.showRememberDevice` is also `true`,
        the SDK will include `rememberBrowser=true` in the form submission.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="useSecurityKey" type="Promise<void>">
  Initiates the WebAuthn assertion process (security key challenge).
  This method will internally call `navigator.credentials.get()` using the challenge
  provided in `screen.publicKey`.
  On successful interaction with the security key, it submits the resulting
  `PublicKeyCredential` to Auth0 with `action: "default"`.

  A promise that resolves when the verification attempt is submitted.
  A successful operation typically results in a redirect by Auth0.

  #### Throws

  Throws an error if `screen.publicKey` is missing, if `navigator.credentials.get()`
  fails (e.g., user cancellation, no authenticator found), or if the form submission to Auth0 fails.
  It's recommended to catch these errors and potentially use `showError()` to report WebAuthn API specific issues.

  <Expandable title="Parameters">
    <ParamField body="options?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnRoamingChallengeUseSecurityKeyOptions">ResetPasswordMfaWebAuthnRoamingChallengeUseSecurityKeyOptions</a></span>}>
      Optional. Parameters for the operation,
      such as `rememberDevice` (if `screen.showRememberDevice` is true) and other custom options.
      The `response` field (the WebAuthn credential) is handled internally by the SDK.

      **Properties**

      <ParamField body="rememberDevice?" type="boolean">
        Optional. If `true` and `screen.showRememberDevice` is also `true`,
        the SDK will include `rememberBrowser=true` in the form submission, indicating the user's
        choice to remember this device.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>
