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

# ResetPasswordMfaWebAuthnPlatformChallengeMembers

ResetPasswordMfaWebAuthnPlatformChallengeMembers

````ts Example theme={null}
export interface ResetPasswordMfaWebAuthnPlatformChallengeMembers extends BaseMembers {
  /**
   * Access to the specific properties and data of the 'reset-password-mfa-webauthn-platform-challenge' screen.
   * @type {ScreenMembersOnResetPasswordMfaWebAuthnPlatformChallenge}
   */
  screen: ScreenMembersOnResetPasswordMfaWebAuthnPlatformChallenge;

  /**
   * Initiates the WebAuthn platform authenticator challenge by calling `navigator.credentials.get()`
   * using the challenge options provided in `screen.publicKey`.
   * If successful, it submits the resulting credential assertion to Auth0 with `action: "default"`.
   *
   * @param {ContinueWithPasskeyOptions} [options] - Optional parameters for the verification process,
   * such as `rememberDevice` (if `screen.showRememberDevice` is true) and other custom options.
   * @returns {Promise<void>} A promise that resolves when the verification attempt is submitted.
   *                          A successful operation typically results in a redirect.
   * @throws {Error} Throws an error if `screen.publicKey` is missing,
   *                 if `navigator.credentials.get()` fails (e.g., user cancellation `NotAllowedError`),
   *                 or if the form submission to Auth0 fails. If `navigator.credentials.get()` fails
   *                 with a `DOMException`, it's recommended to catch that error and call `reportBrowserError`.
   *
   * @example
   * ```typescript
   * // Assuming 'sdk' is an instance of ResetPasswordMfaWebAuthnPlatformChallenge
   * try {
   *   await sdk.continueWithPasskey({
   *     rememberDevice: true // if user checked the box and sdk.screen.showRememberDevice is 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) {
   *     await sdk.reportBrowserError({ error: { name: error.name, message: error.message } });
   *   }
   *   // Check sdk.transaction.errors for server-side validation messages if the page reloads.
   * }
   * ```
   */
  continueWithPasskey(options?: ContinueWithPasskeyOptions): Promise<void>;

  /**
   * Reports a browser-side error that occurred during the `navigator.credentials.get()` API call.
   * This is used to inform Auth0 about issues like user cancellation, timeout, or unsupported hardware.
   * It submits the error details with `action: "showError::{errorDetailsJsonString}"`.
   *
   * @param {ReportBrowserErrorOptions} options - Contains the `error` object (with `name` and `message`
   *                                              from the WebAuthn API DOMException) and any custom options.
   * @returns {Promise<void>} A promise that resolves when the error report is submitted.
   * @throws {Error} If the form submission fails (e.g., network error).
   *
   * @example
   * ```typescript
   * // Assuming 'sdk' is an instance of ResetPasswordMfaWebAuthnPlatformChallenge
   * // and 'webAuthnError' is a DOMException from a failed navigator.credentials.get() call.
   * try {
   *   await sdk.reportBrowserError({
   *     error: { name: webAuthnError.name, message: webAuthnError.message }
   *   });
   *   // Auth0 may re-render the page or redirect based on the error.
   * } catch (submitError) {
   *   console.error("Failed to report WebAuthn browser error:", submitError);
   * }
   * ```
   */
  reportBrowserError(options: ReportBrowserErrorOptions): Promise<void>;

  /**
   * Allows the user to opt-out of the WebAuthn platform 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 for the password reset flow.
   *
   * @param {TryAnotherMethodOptions} [options] - Optional. Any custom parameters to be sent with the request.
   * @returns {Promise<void>} A promise that resolves when the 'pick-authenticator' action is submitted.
   * @throws {Error} If the form submission fails.
   *
   * @example
   * ```typescript
   * // Assuming 'sdk' is an instance of ResetPasswordMfaWebAuthnPlatformChallenge
   * try {
   *   await sdk.tryAnotherMethod();
   *   // On success, Auth0 handles redirection to MFA selection.
   * } catch (error) {
   *   console.error("Failed to switch MFA method:", error);
   * }
   * ```
   */
  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/ScreenMembersOnResetPasswordMfaWebAuthnPlatformChallenge">ScreenMembersOnResetPasswordMfaWebAuthnPlatformChallenge</a></span>}>
  Access to the specific properties and data of the 'reset-password-mfa-webauthn-platform-challenge' screen.
</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="continueWithPasskey" type="Promise<void>">
  Initiates the WebAuthn platform authenticator challenge by calling `navigator.credentials.get()`
  using the challenge options provided in `screen.publicKey`.
  If successful, it submits the resulting credential assertion to Auth0 with `action: "default"`.

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

  #### Throws

  Throws an error if `screen.publicKey` is missing,
  if `navigator.credentials.get()` fails (e.g., user cancellation `NotAllowedError`),
  or if the form submission to Auth0 fails. If `navigator.credentials.get()` fails
  with a `DOMException`, it's recommended to catch that error and call `reportBrowserError`.

  ```typescript Example theme={null}
  // Assuming 'sdk' is an instance of ResetPasswordMfaWebAuthnPlatformChallenge
  try {
    await sdk.continueWithPasskey({
      rememberDevice: true // if user checked the box and sdk.screen.showRememberDevice is 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) {
      await sdk.reportBrowserError({ error: { name: error.name, message: error.message } });
    }
    // Check sdk.transaction.errors for server-side validation messages if the page reloads.
  }
  ```

  <Expandable title="Parameters">
    <ParamField body="options?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnPlatformChallengeContinueOptions">ResetPasswordMfaWebAuthnPlatformChallengeContinueOptions</a></span>}>
      Optional parameters for the verification process,
      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`,
        this indicates the user has opted to remember the current browser,
        potentially skipping MFA for a period. Corresponds to the `rememberBrowser` form field.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="reportBrowserError" type="Promise<void>">
  Reports a browser-side error that occurred during the `navigator.credentials.get()` API call.
  This is used to inform Auth0 about issues like user cancellation, timeout, or unsupported hardware.
  It submits the error details with `action: "showError::{errorDetailsJsonString}"`.

  A promise that resolves when the error report is submitted.

  #### Throws

  If the form submission fails (e.g., network error).

  ```typescript Example theme={null}
  // Assuming 'sdk' is an instance of ResetPasswordMfaWebAuthnPlatformChallenge
  // and 'webAuthnError' is a DOMException from a failed navigator.credentials.get() call.
  try {
    await sdk.reportBrowserError({
      error: { name: webAuthnError.name, message: webAuthnError.message }
    });
    // Auth0 may re-render the page or redirect based on the error.
  } catch (submitError) {
    console.error("Failed to report WebAuthn browser error:", submitError);
  }
  ```

  <Expandable title="Parameters">
    <ParamField body="options" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnPlatformChallengeReportErrorOptions">ResetPasswordMfaWebAuthnPlatformChallengeReportErrorOptions</a></span>}>
      Contains the `error` object (with `name` and `message`
      from the WebAuthn API DOMException) and any 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()`)
        to be reported. Must include `name` and `message`.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  Allows the user to opt-out of the WebAuthn platform 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 for the password reset flow.

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

  #### Throws

  If the form submission fails.

  ```typescript Example theme={null}
  // Assuming 'sdk' is an instance of ResetPasswordMfaWebAuthnPlatformChallenge
  try {
    await sdk.tryAnotherMethod();
    // On success, Auth0 handles redirection to MFA selection.
  } catch (error) {
    console.error("Failed to switch MFA method:", error);
  }
  ```

  <Expandable title="Parameters">
    <ParamField body="options?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnPlatformChallengeTryAnotherMethodOptions">ResetPasswordMfaWebAuthnPlatformChallengeTryAnotherMethodOptions</a></span>}>
      Optional. Any custom parameters to be sent with the request.
    </ParamField>
  </Expandable>
</ParamField>
