> ## 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 // 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) { // 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">
  ## コンストラクター
</div>

<ParamField body="ResetPasswordMfaWebAuthnPlatformChallenge" type="Constructor">
  `ResetPasswordMfaWebAuthnPlatformChallenge` クラスの新しいインスタンスを生成します。
  グローバルな `universal_login_context` から必要なコンテキスト（画面、トランザクションなど）を取得し、
  `ScreenOverride` を使用して画面固有のプロパティを設定します。

  #### 例外

  Universal Login コンテキストが利用できない場合、またはコンテキスト内の画面名が
  `ResetPasswordMfaWebAuthnPlatformChallenge.screenIdentifier` と一致しない場合にスローされます。
</ParamField>

<div id="properties">
  ## プロパティ
</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">
  ## メソッド
</div>

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

  検証試行の送信が完了すると解決される Promise です。
  正常に完了した場合、通常はリダイレクトが行われます。

  #### 例外

  `screen.publicKey` が存在しない場合、
  `navigator.credentials.get()` が失敗した場合（例: ユーザーによるキャンセル `NotAllowedError`）、
  または Auth0 へのフォーム送信が失敗した場合に例外をスローします。
  `navigator.credentials.get()` が `DOMException` とともに失敗した場合は、そのエラーを捕捉して `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) { // DOMException の確認
      await sdk.reportBrowserError({ error: { name: error.name, message: error.message } });
    }
    // ページがリロードされた場合は、サーバー側の検証メッセージについて sdk.transaction.errors を確認してください。
  }
  ```

  <Expandable title="Parameters">
    <ParamField body="options?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnPlatformChallengeContinueOptions">ResetPasswordMfaWebAuthnPlatformChallengeContinueOptions</a></span>}>
      **プロパティ**

      <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>}>
  コンテキストからトランザクションエラーの配列を取得します。存在しない場合は空配列を返します。

  トランザクションコンテキストに含まれるエラーオブジェクトの配列です。
</ParamField>

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

  エラー報告が正常に送信されると解決される Promise です。

  #### 例外

  フォーム送信が失敗した場合（例: ネットワークエラー、不正な state）。

  ```typescript Example theme={null}
  // UI コンポーネント内で、navigator.credentials.get() の catch ブロックにて:
  // } catch (webAuthnError) {
  //   if (webAuthnError instanceof DOMException) {
  //     await sdk.reportBrowserError({
  //       error: { name: webAuthnError.name, message: webAuthnError.message }
  //     });
  //   } else {
  //     // 他のタイプのエラーを処理
  //   }
  // }
  ```

  <Expandable title="Parameters">
    <ParamField body="options" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnPlatformChallengeReportErrorOptions">ResetPasswordMfaWebAuthnPlatformChallengeReportErrorOptions</a></span>}>
      次の内容を含むオブジェクトです:

      * `error`: `navigator.credentials.get()` によってスローされた `DOMException` から取得した、
        少なくとも `name` と `message` プロパティを持つ `WebAuthnErrorDetails` オブジェクト。
      * フォーム送信に含めるその他の `CustomOptions`。

      **プロパティ**

      <ParamField body="error" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/WebAuthnErrorDetails">WebAuthnErrorDetails</a></span>}>
        報告対象となる WebAuthn API（`navigator.credentials.get()`）からのエラーオブジェクトです。
        `name` と `message` を含める必要があります。
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  ユーザーが WebAuthn プラットフォームオーセンティケーターのチャレンジをスキップし、
  パスワードリセット中の本人確認に別の MFA（多要素認証）手段を選択できるようにします。
  このアクションは `action: "pick-authenticator"` を Auth0 に送信し、ユーザーを
  MFA ファクターの選択画面に遷移させます。

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

  <div id="throws">
    #### スロー
  </div>

  フォーム送信が失敗した場合（例: ネットワークエラー、不正な state）にスローされます。

  ```typescript Example theme={null}
  // UI コンポーネント内で "Try Another Method" ボタンがクリックされたとき:
  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/libraries/acul/js-sdk/Screens/interfaces/ResetPasswordMfaWebAuthnPlatformChallengeTryAnotherMethodOptions">ResetPasswordMfaWebAuthnPlatformChallengeTryAnotherMethodOptions</a></span>}>
      任意。リクエストと共に送信するカスタムパラメータです。
      これらはフォームデータに含まれます。
    </ParamField>
  </Expandable>
</ParamField>
