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

# MfaWebAuthnPlatformChallenge

```ts Example theme={null}
import MfaWebAuthnPlatformChallenge from "@auth0/auth0-acul-js/mfa-webauthn-platform-challenge";

const mfaWebAuthnPlatformChallengeManager = new MfaWebAuthnPlatformChallenge();
```

<div id="constructors">
  ## コンストラクター
</div>

<ParamField body="MfaWebAuthnPlatformChallenge" type="Constructor">
  `MfaWebAuthnPlatformChallenge` クラスの新しいインスタンスを初期化します。
  グローバル `universal_login_context` から必要なコンテキスト（画面、トランザクションなど）を取得します。

  #### 例外

  Universal Login コンテキストが利用できない場合、またはコンテキスト内の画面名が
  `MfaWebAuthnPlatformChallenge.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/ScreenMembersOnMfaWebAuthnPlatformChallenge">ScreenMembersOnMfaWebAuthnPlatformChallenge</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="getErrors" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/Error">Error</a>[]</span>}>
  コンテキストからトランザクションのエラー配列を取得します。存在しない場合は空の配列を返します。

  トランザクションコンテキストからのエラーオブジェクトの配列。
</ParamField>

<ParamField body="reportBrowserError" type="Promise<void>">
  WebAuthn の `navigator.credentials.get()` 操作中に発生したブラウザ側のエラーを報告します。
  このメソッドは、WebAuthn API エラー（例: ユーザーによるキャンセル）が原因で `verify()` が失敗した場合に呼び出す必要があります。
  エラーの詳細は特定の Action 形式でサーバーに送信されます。

  エラーレポートが正常に送信されると解決される Promise。

  <div id="throws">
    #### Throws
  </div>

  フォーム送信に失敗した場合（例: ネットワークの問題、無効な state）にエラーをスローします。

  <Expandable title="パラメーター">
    <ParamField body="options" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/MfaWebAuthnPlatformChallengeReportErrorOptions">MfaWebAuthnPlatformChallengeReportErrorOptions</a></span>}>
      ブラウザの WebAuthn API の DOMException からの `name` と `message`
      プロパティを含む `error` オブジェクトと、その他の任意のカスタムオプションを含みます。
      `error` オブジェクトは JSON 文字列化され、`action` パラメーターに埋め込まれます。

      **プロパティ**

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

<ParamField body="tryAnotherMethod" type="Promise<void>">
  ユーザーが WebAuthn プラットフォームチャレンジをスキップし、別の MFA（多要素認証）手段を選択できるようにします。
  この Action は `action: "pick-authenticator"` を Auth0 に送信し、
  ユーザーを MFA 要素選択画面へ遷移させます。

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

  <div id="throws">
    #### Throws
  </div>

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

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

<ParamField body="verify" type="Promise<void>">
  WebAuthn プラットフォーム認証器チャレンジを開始します。
  内部的には、このメソッドは `this.screen.publicKey` からチャレンジオプションを取得し、
  `navigator.credentials.get()`（`getPasskeyCredentials` ユーティリティ経由）を呼び出してから、
  得られたクレデンシャルアサーションを Auth0 サーバーに送信します。

  クレデンシャルの送信が開始されると解決される Promise。
  成功した場合、通常はサーバー側でのリダイレクトが行われます。

  <div id="throws">
    #### Throws
  </div>

  `this.screen.publicKey` が利用できない場合（チャレンジオプションが欠落していることを示します）、
  `getPasskeyCredentials`（ひいては `navigator.credentials.get()`）が失敗した場合（例: ユーザーのキャンセル、
  認証器が見つからない、ハードウェアエラー）、または Auth0 への最終的なフォーム送信が失敗した場合にエラーをスローします。
  このメソッドからのエラーを捕捉することが重要です。`NotAllowedError` などの WebAuthn API エラーは、
  可能であれば `this.reportBrowserError()` を使用して報告する必要があります。

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

      <ParamField body="rememberDevice?" type="boolean" />
    </ParamField>
  </Expandable>
</ParamField>
