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

# MfaPushChallengePush

> Universal Login の `mfa-push-challenge-push` 画面をカスタマイズする際に使用できる、すべてのプロパティとメソッドについて説明します。

MfaPushChallengePush クラスは、`mfa-push-challenge-push` 画面の機能を実装します。この画面は、MFA 中にユーザーがプッシュ通知を確認する必要がある場合に表示されます。

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/translations/MQijxVxM0qBMv291/docs/images/ja-jp/cdy7uua7fh8z/6n6fftBZDpoT5FdmipebK6/3a777c3c9a87a6f6cf53cf96aab67c8d/Screenshot_2025-02-20_at_22.13.55.png?fit=max&auto=format&n=MQijxVxM0qBMv291&q=85&s=743ce511b66aa4bb6ce29a2e249702ca" alt="ACUL MFA Push Challenge Push" width="438" height="670" data-path="docs/images/ja-jp/cdy7uua7fh8z/6n6fftBZDpoT5FdmipebK6/3a777c3c9a87a6f6cf53cf96aab67c8d/Screenshot_2025-02-20_at_22.13.55.png" />
</Frame>

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

MFA Push Challenge Push画面マネージャーのインスタンスを作成します:

```typescript Example theme={null}
import MfaPushChallengePush from '@auth0/auth0-acul-js/mfa-push-challenge-push';

const mfaPushChallengePush = new MfaPushChallengePush();
await mfaPushChallengePush.continue();
```

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

<ParamField body="branding" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/BrandingMembers">BrandingMembers</a></span>}>
  ブランディングテーマや各種設定など、ブランディング関連の構成を提供します。
</ParamField>

<ParamField body="client" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/ClientMembers">ClientMembers</a></span>}>
  `mfa-push-challenge-push` 画面の `id`、`name`、`logoUrl` など、クライアントに関する構成を提供します。
</ParamField>

<ParamField body="organization" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/OrganizationMembers">OrganizationMembers</a></span>}>
  `id` や `name` など、ユーザーの組織に関する情報を提供します。
</ParamField>

<ParamField body="prompt" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/PromptMembers">PromptMembers</a></span>}>
  認証フロー内の現在のプロンプトに関するデータが含まれます。
</ParamField>

<ParamField body="screen" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/ScreenMembersOnMfaPushChallengePush">ScreenMembersOnMfaPushChallengePush</a></span>}>
  構成やコンテキストなど、`mfa-push-challenge-push` 画面に固有の詳細が含まれます。
</ParamField>

<ParamField body="tenant" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/TenantMembers">TenantMembers</a></span>}>
  `id` や関連するメタデータなど、テナントに関するデータが含まれます。
</ParamField>

<ParamField body="transaction" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/TransactionMembers">TransactionMembers</a></span>}>
  アクティブな識別子やフローの状態など、`mfa-push-challenge-push` 画面のトランザクション固有データを提供します。
</ParamField>

<ParamField body="untrustedData" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/UntrustedDataMembersOnMfaPushChallengePush">UntrustedDataMembersOnMfaPushChallengePush</a></span>}>
  MFA プッシュチャレンジ中のユーザー入力など、SDK に渡される信頼されていないデータを扱います。
</ParamField>

<ParamField body="user" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/UserMembers">UserMembers</a></span>}>
  `username`、`email`、`roles` など、アクティブなユーザーの詳細が含まれます。
</ParamField>

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

<ParamField body="changeLanguage" type="Promise<void>">
  このメソッドは、Universal Login ページの表示言語を変更します。

  ```typescript Example theme={null}
  import MfaPushChallengePush from '@auth0/auth0-acul-js/mfa-push-challenge-push';
  const mfaPushChallengePush = new MfaPushChallengePush();
  mfaPushChallengePush.changeLanguage({
    language: 'fr',
  });
  ```

  **メソッドパラメーター**

  <Expandable title="パラメーター">
    <ParamField body="options">
      [LanguageChangeOptions](/ja/docs/libraries/acul/js-sdk/Screens/interfaces/LanguageChangeOptions)。
    </ParamField>

    <ParamField body="language" type="string" required>
      使用する言語のロケールコード (例: `'en'`、`'fr'`、`'es'`) 。
    </ParamField>

    <ParamField body="persist?" type="&#x22;session&#x22;">
      `'session'` に設定すると、選択した言語がセッション中保持されます。
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="continue" type="Promise<void>">
  このメソッドは、プッシュ通知チャレンジを続行します。

  ```typescript Example theme={null}
  import MfaPushChallengePush from '@auth0/auth0-acul-js/mfa-push-challenge-push';

  const mfaPushChallengePush = new MfaPushChallengePush();
  await mfaPushChallengePush.continue();
  ```

  **メソッドパラメーター**

  <Expandable title="パラメーター">
    <ParamField body="options">
      [WithRememberOptions](/ja/docs/libraries/acul/js-sdk/Screens/interfaces/WithRememberOptions)。
    </ParamField>

    <ParamField body="rememberDevice?" type="boolean">
      デバイスを記憶するかどうかを指定します。
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="enterCodeManually" type="Promise<void>">
  このメソッドは、確認コードを手動で入力する画面に切り替えます。

  ```typescript Example theme={null}
  import MfaPushChallengePush from '@auth0/auth0-acul-js/mfa-push-challenge-push';

  const mfaPushChallengePush = new MfaPushChallengePush();
  await mfaPushChallengePush.enterCodeManually();
  ```
</ParamField>

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

<ParamField body="pollingManager" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/MfaPushPollingControl">MfaPushPollingControl</a></span>}>
  このメソッドは、MFA プッシュチャレンジのポーリングを開始し、管理します。

  指定した間隔で MFA プッシュチャレンジのエンドポイントを繰り返し確認するポーリングセッションを作成し、チャレンジが承認されるかエラーが発生するまで継続します。承認条件が満たされると、指定した [onCompleted](/ja/docs/libraries/acul/js-sdk/Screens/type-aliases/MfaPollingOptions#oncompleted) コールバックが呼び出され、ポーリングは自動的に停止します。

  返される [MfaPushPollingControl](/ja/docs/libraries/acul/js-sdk/Screens/interfaces/MfaPushPollingControl) を使用すると、ポーリング処理の開始、停止、状態確認をいつでも行えます。

  以下を提供する [MfaPushPollingControl](/ja/docs/libraries/acul/js-sdk/Screens/interfaces/MfaPushPollingControl) インスタンスを返します。

  * `startPolling()` — ポーリングを開始または再開します。
  * `stopPolling()` — ポーリングを直ちに停止します。
  * `isRunning()` — ポーリングが現在実行中かどうかを示します。

  ```typescript Example theme={null}
  import MfaPushChallengePush from '@auth0/auth0-acul-js/mfa-push-challenge-push';

  const mfaPushChallengePush = new MfaPushChallengePush();

  // プッシュチャレンジが承認されるまで 5 秒ごとにポーリングを開始
  const control = mfaPushChallengePush.pollingManager({
    intervalMs: 5000,
    onCompleted: () => mfaPushChallengePush.continue(),
    onError: (error) => console.error('Polling error:', error),
  });

  // 必要に応じて後でポーリングを停止
  control.stopPolling();
  ```

  **備考**

  * HTTP 429 (レート制限) レスポンスは内部で処理されます。ポーリングは、レート制限がリセットされるまで自動的に待機してから再試行します。
  * `startPolling()` は複数回呼び出しても安全です。すでに実行中の場合は効果がありません。

  **メソッドパラメーター**

  <Expandable title="パラメーター">
    <ParamField body="options">
      [MfaPollingOptions](/ja/docs/libraries/acul/js-sdk/Screens/type-aliases/MfaPollingOptions).
    </ParamField>

    <ParamField body="intervalMs?" type="number">
      連続するポーリングリクエストの間隔 (ミリ秒) を指定する任意の値です。省略した場合は、SDK の内部デフォルト間隔 (通常は 5000 ms) が使用されます。
    </ParamField>

    <ParamField body="onCompleted()?" type="() => void">
      MFA プッシュチャレンジが正常に承認されてポーリングが完了したときに実行される任意のコールバックです。呼び出されるのは 1 回のみで、その後ポーリングは自動的に停止します。
    </ParamField>

    <ParamField body="onError()?" type="(error) => void">
      ポーリング中にエラーが発生した場合に呼び出される任意のコールバックです。`status` (HTTP ステータスコード) と `responseText` (生のレスポンス本文) を含む `ULError` オブジェクトを受け取ります。
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="resendPushNotification" type="Promise<void>">
  このメソッドは、プッシュ通知を再送信します。

  ```typescript Example theme={null}
  import MfaPushChallengePush from '@auth0/auth0-acul-js/mfa-push-challenge-push';

  const mfaPushChallengePush = new MfaPushChallengePush();
  await mfaPushChallengePush.resendPushNotification();
  ```

  **メソッドパラメーター**

  <Expandable title="パラメーター">
    <ParamField body="options">
      [WithRememberOptions](/ja/docs/libraries/acul/js-sdk/Screens/interfaces/WithRememberOptions).
    </ParamField>

    <ParamField body="rememberDevice?" type="boolean">
      このデバイスを記憶するかどうかを示します。
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  このメソッドを使用すると、ユーザーは別の MFA方式を試すことができます。

  ```typescript Example theme={null}
  import MfaPushChallengePush from '@auth0/auth0-acul-js/mfa-push-challenge-push';

  const mfaPushChallengePush = new MfaPushChallengePush();
  await mfaPushChallengePush.tryAnotherMethod();
  ```
</ParamField>
