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

  /**
   * `screen.publicKey` で提供されたチャレンジオプションを使用して `navigator.credentials.get()` を呼び出し、
   * WebAuthn プラットフォーム認証器のチャレンジを開始します。
   * 成功した場合、結果の資格情報アサーションを `action: "default"` とともに Auth0 に送信します。
   *
   * @param {ContinueWithPasskeyOptions} [options] - 検証プロセスのオプションパラメータ。
   * `rememberDevice`（`screen.showRememberDevice` が true の場合）やその他のカスタムオプションなど。
   * @returns {Promise<void>} 検証の試行が送信されると解決される Promise。
   *                          操作が成功した場合、通常はリダイレクトが発生します。
   * @throws {Error} `screen.publicKey` が存在しない場合、
   *                 `navigator.credentials.get()` が失敗した場合（例：ユーザーによるキャンセル `NotAllowedError`）、
   *                 または Auth0 へのフォーム送信が失敗した場合にエラーをスローします。`navigator.credentials.get()` が
   *                 `DOMException` で失敗した場合は、そのエラーをキャッチして `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>;
}
````

<h2 id="properties">
  プロパティ
</h2>

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

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

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

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

<ParamField body="screen" type={<span><a href="/docs/ja-jp/libraries/acul/js-sdk/Screens/interfaces/ScreenMembersOnResetPasswordMfaWebAuthnPlatformChallenge">ScreenMembersOnResetPasswordMfaWebAuthnPlatformChallenge</a></span>}>
  'reset-password-mfa-webauthn-platform-challenge' 画面固有のプロパティとデータにアクセスします。
</ParamField>

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

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

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

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

<h2 id="methods">
  メソッド
</h2>

<ParamField body="continueWithPasskey" type="Promise<void>">
  `screen.publicKey` で指定された challenge オプションを使って
  `navigator.credentials.get()` を呼び出し、WebAuthnプラットフォーム認証器チャレンジを開始します。
  成功すると、生成された credential assertion を `action: "default"` とともに Auth0 に送信します。

  検証の試行が送信されると resolve される Promise です。
  通常、成功するとリダイレクトされます。

  <h4 id="throws">
    例外
  </h4>

  `screen.publicKey` がない場合、
  `navigator.credentials.get()` が失敗した場合 (たとえば、ユーザーがキャンセルして `NotAllowedError` が発生した場合) 、
  または Auth0 へのフォーム送信が失敗した場合にエラーをスローします。`navigator.credentials.get()` が
  `DOMException` で失敗した場合は、そのエラーを catch して `reportBrowserError` を呼び出すことを推奨します。

  ```typescript Example theme={null}
  // 'sdk' は ResetPasswordMfaWebAuthnPlatformChallenge のインスタンスとします
  try {
    await sdk.continueWithPasskey({
      rememberDevice: true // ユーザーがチェックボックスをオンにしており、sdk.screen.showRememberDevice が true の場合
    });
    // 成功すると、Auth0 がリダイレクトを処理します。
  } catch (error) {
    console.error("Platform authenticator verification failed:", error);
    // WebAuthn API エラー（DOMException）の場合は報告します
    if (error instanceof DOMException && error.name && error.message) {
      await sdk.reportBrowserError({ error: { name: error.name, message: error.message } });
    }
    // ページが再読み込みされた場合は、サーバー側のバリデーションメッセージを sdk.transaction.errors で確認してください。
  }
  ```

  <Expandable title="パラメータ">
    <ParamField body="options?" type={<span><a href="/docs/ja-jp/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnPlatformChallengeContinueOptions">ResetPasswordMfaWebAuthnPlatformChallengeContinueOptions</a></span>}>
      検証プロセスで使用する任意のパラメータです。
      `rememberDevice` (`screen.showRememberDevice` が true の場合) や、そのほかのカスタムオプションを指定できます。

      **プロパティ**

      <ParamField body="rememberDevice?" type="boolean">
        任意。`true` で、かつ `screen.showRememberDevice` も `true` の場合、
        ユーザーが現在のブラウザーを記憶することを選択したことを示します。
        これにより、一定期間 MFA をスキップできる可能性があります。`rememberBrowser` フォームフィールドに対応します。
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="reportBrowserError" type="Promise<void>">
  `navigator.credentials.get()` API 呼び出し中に発生したブラウザー側エラーを報告します。
  これは、ユーザーによるキャンセル、タイムアウト、未対応のハードウェアなどの問題を Auth0 に通知するために使用されます。
  エラーの詳細を `action: "showError::{errorDetailsJsonString}"` とともに送信します。

  エラーレポートが送信されると resolve される Promise です。

  <h4 id="throws-2">
    例外
  </h4>

  フォーム送信が失敗した場合 (たとえばネットワークエラー) 。

  ```typescript Example theme={null}
  // 'sdk' は ResetPasswordMfaWebAuthnPlatformChallenge のインスタンスで、
  // 'webAuthnError' は navigator.credentials.get() の失敗時に発生した DOMException とします。
  try {
    await sdk.reportBrowserError({
      error: { name: webAuthnError.name, message: webAuthnError.message }
    });
    // エラーに応じて、Auth0 はページを再レンダリングするか、リダイレクトすることがあります。
  } catch (submitError) {
    console.error("Failed to report WebAuthn browser error:", submitError);
  }
  ```

  <Expandable title="パラメータ">
    <ParamField body="options" type={<span><a href="/docs/ja-jp/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnPlatformChallengeReportErrorOptions">ResetPasswordMfaWebAuthnPlatformChallengeReportErrorOptions</a></span>}>
      `error` object (WebAuthn API の DOMException に含まれる `name` と `message`)
      および任意のカスタムオプションを含みます。

      **プロパティ**

      <ParamField body="error" type={<span><a href="/docs/ja-jp/libraries/acul/js-sdk/Screens/interfaces/WebAuthnErrorDetails">WebAuthnErrorDetails</a></span>}>
        報告する WebAuthn API (`navigator.credentials.get()`) の
        error object です。`name` と `message` を含める必要があります。
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  ユーザーが WebAuthn プラットフォームのチャレンジを中止し、別の MFA方式 を選択できるようにします。
  このアクションは Auth0 に `action: "pick-authenticator"` を送信し、
  ユーザーをパスワードリセットフローの MFA認証要素選択画面へ遷移させます。

  `'pick-authenticator'` アクションが送信されると解決される Promise です。

  <h4 id="throws-3">
    Throws
  </h4>

  フォームの送信に失敗した場合。

  ```typescript Example theme={null}
  // 'sdk' が ResetPasswordMfaWebAuthnPlatformChallenge のインスタンスであるとします
  try {
    await sdk.tryAnotherMethod();
    // 成功すると、Auth0 が MFA 選択へのリダイレクトを処理します。
  } catch (error) {
    console.error("Failed to switch MFA method:", error);
  }
  ```

  <Expandable title="パラメータ">
    <ParamField body="options?" type={<span><a href="/docs/ja-jp/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnPlatformChallengeTryAnotherMethodOptions">ResetPasswordMfaWebAuthnPlatformChallengeTryAnotherMethodOptions</a></span>}>
      任意。リクエストとともに送信するカスタムパラメータです。
    </ParamField>
  </Expandable>
</ParamField>
