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

# MfaWebAuthnRoamingEnrollment

`mfa-webauthn-roaming-enrollment` 画面の機能を実装するクラスです。
この画面は、ユーザーが WebAuthn ローミング認証器（セキュリティキーなど）を登録する必要がある場合に表示されます。

```ts Example theme={null}
import MfaWebAuthnRoamingEnrollment from '@auth0/auth0-acul-js/mfa-webauthn-roaming-enrollment';

const webauthnEnrollment = new MfaWebAuthnRoamingEnrollment();
// WebAuthn 認証情報レスポンスを取得済みであることを想定しています（例: navigator.credentials.create から）
const credentialResponse = { /* ... シリアル化された認証情報 ... *&#x2F; };
await webauthnEnrollment.enroll({ response: JSON.stringify(credentialResponse) });
```

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

<ParamField body="MfaWebAuthnRoamingEnrollment" type="Constructor">
  MfaWebAuthnRoamingEnrollment 画面マネージャーのインスタンスを作成します。
</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/ScreenMembersOnMfaWebAuthnRoamingEnrollment">ScreenMembersOnMfaWebAuthnRoamingEnrollment</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" />

<div id="methods">
  ## メソッド
</div>

<ParamField body="enroll" type="Promise<void>">
  WebAuthn クレデンシャルの作成を開始し、その結果をサーバーに送信します。
  これは、ユーザーが FIDO セキュリティキーのプロンプトで操作を行うことに相当します。

  ```typescript Example theme={null}
  import MfaWebAuthnRoamingEnrollment from '@auth0/auth0-acul-js/mfa-webauthn-roaming-enrollment';

  const webauthnEnrollment = new MfaWebAuthnRoamingEnrollment();
  // Assuming you have obtained the WebAuthn credential response (e.g., from navigator.credentials.create)
  const credentialResponse = { /* ... serialized credential ... *&#x2F; };
  await webauthnEnrollment.enroll({ response: JSON.stringify(credentialResponse) });
  ```

  <Expandable title="Parameters">
    <ParamField body="payload" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      リクエストに含める任意のカスタムオプション。
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="getErrors" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/Error">Error</a>[]</span>}>
  コンテキストからトランザクションエラーの配列を取得します。存在しない場合は空の配列を返します。

  トランザクションコンテキストから取得されるエラーオブジェクトの配列です。
</ParamField>

<ParamField body="showError" type="Promise<void>">
  WebAuthn ブラウザーエラーの詳細をサーバーに送信します。
  これは、ブラウザーの WebAuthn API でエラーが発生した場合に使用されます。

  ```typescript Example theme={null}
  import MfaWebAuthnRoamingEnrollment from '@auth0/auth0-acul-js/mfa-webauthn-roaming-enrollment';

  const webauthnEnrollment = new MfaWebAuthnRoamingEnrollment();
  await webauthnEnrollment.showError({
    error: {
      name: 'NotAllowedError',
      message: 'The operation either timed out or was not allowed.',
    },
  });
  ```

  <Expandable title="Parameters">
    <ParamField body="payload" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/ShowErrorOptions">ShowErrorOptions</a></span>}>
      エラーの詳細を含むオプション。

      **プロパティ**

      <ParamField body="error" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/WebAuthnErrorDetails">WebAuthnErrorDetails</a></span>}>
        WebAuthn エラーの詳細。
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  ユーザーが別の MFA（多要素認証）手段を試せるようにします。
  これは「Try Another Method」ボタンに対応します。

  ```typescript Example theme={null}
  import MfaWebAuthnRoamingEnrollment from '@auth0/auth0-acul-js/mfa-webauthn-roaming-enrollment';

  const webauthnEnrollment = new MfaWebAuthnRoamingEnrollment();
  await webauthnEnrollment.tryAnotherMethod();
  ```

  <Expandable title="Parameters">
    <ParamField body="payload?" type={<span><a href="/docs/libraries/acul/js-sdk/Screens/interfaces/MfaWebAuthnRoamingEnrollmentTryAnotherMethodOptions">MfaWebAuthnRoamingEnrollmentTryAnotherMethodOptions</a></span>}>
      リクエストに含める任意のカスタムオプション。
    </ParamField>
  </Expandable>
</ParamField>
