> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# MfaWebAuthnPlatformEnrollmentMembers

MfaWebAuthnPlatformEnrollmentMembers

````ts Example theme={null}
export interface MfaWebAuthnPlatformEnrollmentMembers extends BaseMembers {
  /**
   * MFA WebAuthn Platform Enrollment固有のデータ構造を持つ画面オブジェクト。
   */
  screen: ScreenMembersOnMfaWebAuthnPlatformEnrollment;
  
  /**
   * `this.screen.publicKey`で利用可能な公開鍵オプションを使用してWebAuthnプラットフォームのクレデンシャル作成プロセスを開始し、
   * 作成されたクレデンシャルをサーバーに送信します。
   * このメソッドは内部的に`createPasskeyCredentials`（`navigator.credentials.create()`のラッパー）を呼び出します。
   *
   * @param {SubmitPasskeyCredentialOptions} [payload] - 作成されたクレデンシャルと共にサーバーへ送信されるカスタムパラメータ（省略可能）。
   * @returns {Promise<void>} クレデンシャルが正常に作成・送信されると解決されるPromise。
   * @throws {Error} `this.screen.publicKey`が利用できない場合、`createPasskeyCredentials`が失敗した場合
   * （例：ユーザーによるキャンセル、ハードウェアの問題）、またはサーバーへの送信が失敗した場合にエラーをスローします。
   * @example
   * ```typescript
   * // 'sdk'はMfaWebAuthnPlatformEnrollmentのインスタンスと仮定します
   * try {
   *   if (!sdk.screen.publicKey) { // オプションが利用可能か確認します
   *     throw new Error("Public key creation options are not available on the screen context.");
   *   }
   *   await sdk.submitPasskeyCredential(); // publicKeyを明示的に渡す必要はありません
   *   // 成功時はAuth0がリダイレクトを処理します。
   * } catch (error) {
   *   console.error('Passkey enrollment failed:', error);
   *   // エラーを処理します。WebAuthn APIエラーの場合はreportBrowserErrorの呼び出しを検討してください
   *   if (error.name && error.message) { // WebAuthnエラーかどうかを確認します
   *     await sdk.reportBrowserError({ error: { name: error.name, message: error.message } });
   *   }
   * }
   * ```
   */
  submitPasskeyCredential(payload?: SubmitPasskeyCredentialOptions): Promise<void>;

  /**
   * WebAuthnの`navigator.credentials.create()`操作中に発生したブラウザ側のエラーを報告します。
   * このメソッドはエラーの詳細をサーバーに送信します。
   *
   * @param {ReportBrowserErrorOptions} payload - ブラウザのエラー詳細およびカスタムオプション。
   * @returns {Promise<void>} エラーレポートが正常に送信されると解決されるPromise。
   * @throws {Error} 送信が失敗した場合にエラーをスローします。
   * @example
   * ```typescript
   * // 'sdk'はMfaWebAuthnPlatformEnrollmentのインスタンスと仮定します
   * // パスキー作成試行のcatchブロック内（例：submitPasskeyCredentialから）：
   * } catch (webAuthnError) {
   *   if (webAuthnError.name) { // WebAuthn APIエラーである可能性を確認します
   *      await sdk.reportBrowserError({ error: { name: webAuthnError.name, message: webAuthnError.message } });
   *   }
   *   // エラーメッセージをユーザーに表示するようUIを更新します
   * }
````

<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/ScreenMembersOnMfaWebAuthnPlatformEnrollment">ScreenMembersOnMfaWebAuthnPlatformEnrollment</a></span>}>
  MFA WebAuthn Platform Enrollment に固有のデータ構造を持つ画面オブジェクト。
</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="refuseEnrollmentOnThisDevice" type="Promise<void>">
  ユーザーが現在のデバイスで WebAuthn プラットフォーム登録を拒否できるようにします。
  このアクションは、この特定のデバイスではプラットフォーム認証器を使用したくないことを示します。

  拒否アクションが正常に送信されると解決される Promise です。

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

  送信に失敗した場合はエラーをスローします。

  ```typescript Example theme={null}
  // 'sdk' が MfaWebAuthnPlatformEnrollment のインスタンスであると仮定します
  await sdk.refuseEnrollmentOnThisDevice();
  ```

  <Expandable title="パラメータ">
    <ParamField body="payload?" type={<span><a href="/docs/ja-jp/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      リクエストに含める省略可能なカスタムオプションです。
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="reportBrowserError" type="Promise<void>">
  WebAuthn の `navigator.credentials.create()` の実行中に発生したブラウザー側エラーを報告します。
  このメソッドは、エラーの詳細をサーバーに送信します。

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

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

  送信に失敗した場合はエラーをスローします。

  ```typescript Example theme={null}
  // 'sdk' が MfaWebAuthnPlatformEnrollment のインスタンスであると仮定します
  // パスキーの作成を試みた際（例: submitPasskeyCredential から）の catch ブロック内:
  } catch (webAuthnError) {
    if (webAuthnError.name) { // WebAuthn API エラーの可能性が高いか確認します
       await sdk.reportBrowserError({ error: { name: webAuthnError.name, message: webAuthnError.message } });
    }
    // ユーザーにエラーメッセージを表示するよう UI を更新します
  }
  ```

  <Expandable title="パラメータ">
    <ParamField body="payload" type={<span><a href="/docs/ja-jp/libraries/acul/js-sdk/Screens/interfaces/ReportBrowserErrorOptions">ReportBrowserErrorOptions</a></span>}>
      ブラウザーエラーの詳細と、任意のカスタムオプションです。

      **プロパティ**

      <ParamField body="error" type="object">
        <Expandable title="properties">
          <ParamField body="message" type="string" />

          <ParamField body="name" type="string" />
        </Expandable>
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="snoozeEnrollment" type="Promise<void>">
  ユーザーが WebAuthn プラットフォーム登録を後で行えるよう、一時的に延期します。
  このアクションは通常、後で登録するようユーザーに再度通知されることを意味します。

  スヌーズアクションが正常に送信されると解決される Promise です。

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

  送信に失敗した場合はエラーをスローします。

  ```typescript Example theme={null}
  // 'sdk' が MfaWebAuthnPlatformEnrollment のインスタンスであると仮定します
  await sdk.snoozeEnrollment();
  ```

  <Expandable title="パラメータ">
    <ParamField body="payload?" type={<span><a href="/docs/ja-jp/libraries/acul/js-sdk/Screens/interfaces/CustomOptions">CustomOptions</a></span>}>
      リクエストに含める省略可能なカスタムオプションです。
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="submitPasskeyCredential" type="Promise<void>">
  `this.screen.publicKey` で利用可能な公開鍵オプションを使用して
  WebAuthn プラットフォームのクレデンシャル作成プロセスを開始し、
  生成されたクレデンシャルをサーバーに送信します。
  このメソッドは内部で `createPasskeyCredentials` (`navigator.credentials.create()` をラップしたもの) を呼び出します。

  クレデンシャルが正常に作成され、送信されると解決される Promise です。

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

  `this.screen.publicKey` が利用できない場合、`createPasskeyCredentials` が失敗した場合
  (例: ユーザーによるキャンセル、ハードウェアの問題) 、またはサーバーへの送信が失敗した場合に
  エラーをスローします。

  ```typescript Example theme={null}
  // 'sdk' が MfaWebAuthnPlatformEnrollment のインスタンスであると仮定します
  try {
    if (!sdk.screen.publicKey) { // オプションが利用可能か確認します
      throw new Error("Public key creation options are not available on the screen context.");
    }
    await sdk.submitPasskeyCredential(); // publicKey を明示的に渡す必要はありません
    // 成功時は、Auth0 がリダイレクトを処理します。
  } catch (error) {
    console.error('Passkey enrollment failed:', error);
    // エラーを処理します。必要に応じて、WebAuthn API エラーの場合は reportBrowserError を呼び出します
    if (error.name && error.message) { // WebAuthn エラーのように見えるか確認します
      await sdk.reportBrowserError({ error: { name: error.name, message: error.message } });
    }
  }
  ```

  <Expandable title="パラメータ">
    <ParamField body="payload?" type={<span><a href="/docs/ja-jp/libraries/acul/js-sdk/Screens/interfaces/SubmitPasskeyCredentialOptions">SubmitPasskeyCredentialOptions</a></span>}>
      作成されたクレデンシャルとともに
      サーバーへ送信される省略可能なカスタムパラメータです。
    </ParamField>
  </Expandable>
</ParamField>
