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

# PhoneIdentifierChallenge

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

PhoneIdentifierChallenge クラスは、`phone-identifier-challenge` 画面の機能を実装します。この画面では、本人確認のため、電話番号に送信された認証コードの入力をユーザーに求めます。

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3Cog5ZVlHphrRltcyZkq2d/c959fd72052731922ba251516403d0ac/Screenshot_2025-02-06_at_20.11.38.png?fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=5c6c2fa8f48f3b7d0b0d05ff0c5363d5" alt="undefined" width="369" height="494" data-path="docs/images/cdy7uua7fh8z/3Cog5ZVlHphrRltcyZkq2d/c959fd72052731922ba251516403d0ac/Screenshot_2025-02-06_at_20.11.38.png" />
</Frame>

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

PhoneIdentifierChallenge 画面マネージャーのインスタンスを作成します。

```typescript Example theme={null}
import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';
const phoneIdentifierChallengeManager = new PhoneIdentifierChallenge();
await phoneIdentifierChallengeManager.submitPhoneChallenge({
  code: '123456',
});
```

<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>}>
  `phone-identifier-challenge` 画面向けに、`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` など、ユーザーの Organization に関する情報を提供します。
</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/ScreenMembersOnPhoneIdentifierChallenge">ScreenMembersOnPhoneIdentifierChallenge</a></span>}>
  設定やコンテキストなど、`phone-identifier-challenge` 画面に固有の詳細情報を含みます。
</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>}>
  アクティブな識別子やフローの状態など、`phone-identifier-challenge` 画面に関するトランザクション固有のデータを提供します。
</ParamField>

<ParamField body="untrustedData" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/UntrustedDataMembers">UntrustedDataMembers</a></span>}>
  電話チャレンジフロー中のユーザー入力など、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 PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';
  const phoneIdentifierChallengeManager = new PhoneIdentifierChallenge();
  phoneIdentifierChallengeManager.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="getErrors" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/Error">Error</a>[]</span>}>
  このメソッドは、コンテキストからトランザクションエラーの配列を取得します。エラーがない場合は空の配列を返します。
</ParamField>

<ParamField body="resendCode" type="Promise<void>">
  このメソッドは、ユーザーの電話番号に認証コードを再送します。

  ```typescript Example theme={null}
  import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';
  const phoneIdentifierChallengeManager = new PhoneIdentifierChallenge();
  await phoneIdentifierChallengeManager.resendCode();
  ```
</ParamField>

<ParamField body="resendManager" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/ResendControl">ResendControl</a></span>}>
  このメソッドは、タイムアウト管理付きの再送機能を提供します。再送を実行する `startResend()` メソッドを持つ [`ResendControl`](/ja/docs/libraries/acul/js-sdk/Screens/interfaces/ResendControl) オブジェクトを返し、ユーザーが再度再送できるようになるまでクールダウン期間を適用します。

  ```typescript Example theme={null}
  import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';
  const phoneIdentifierChallengeManager = new PhoneIdentifierChallenge();
  const { startResend } = phoneIdentifierChallengeManager.resendManager({
    timeoutSeconds: 30,
  });
  await startResend();
  ```

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

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

    <ParamField body="timeoutSeconds?" type="number">
      ユーザーが再びコードを再送できるようになるまでのクールダウン時間 (秒) です。
    </ParamField>

    <ParamField body="onStatusChange?" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/type-aliases/OnStatusChangeCallback">OnStatusChangeCallback</a></span>}>
      再送ステータスが変わるたびに呼び出されるコールバックです。残り秒数と、再送機能が現在無効かどうかを返します。
    </ParamField>

    <ParamField body="onTimeout?" type="() => void">
      クールダウンが終了し、再送が再び可能になったときに呼び出されるコールバックです。
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="returnToPrevious" type="Promise<void>">
  このメソッドは、ユーザーを前の画面に戻します。

  ```typescript Example theme={null}
  import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';
  const phoneIdentifierChallengeManager = new PhoneIdentifierChallenge();
  await phoneIdentifierChallengeManager.returnToPrevious();
  ```
</ParamField>

<ParamField body="submitPhoneChallenge" type="Promise<void>">
  このメソッドは、チャレンジを完了するために電話認証コードを送信します。

  ```typescript Example theme={null}
  import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';
  const phoneIdentifierChallengeManager = new PhoneIdentifierChallenge();
  await phoneIdentifierChallengeManager.submitPhoneChallenge({
    code: '123456',
  });
  ```

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

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

    <ParamField body="code" type="string" required>
      ユーザーの電話番号に送信された認証コードです。
    </ParamField>

    <ParamField body="captcha?" type="string">
      このテナントで CAPTCHA が有効な場合の CAPTCHA 応答トークンです。
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="switchToText" type="Promise<void>">
  このメソッドは、認証コードの受信方法をSMSに切り替えます。

  ```typescript Example theme={null}
  import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';
  const phoneIdentifierChallengeManager = new PhoneIdentifierChallenge();
  await phoneIdentifierChallengeManager.switchToText();
  ```
</ParamField>

<ParamField body="switchToVoice" type="Promise<void>">
  このメソッドは、認証コードの受信方法を音声通話に切り替えます。

  ```typescript Example theme={null}
  import PhoneIdentifierChallenge from '@auth0/auth0-acul-js/phone-identifier-challenge';
  const phoneIdentifierChallengeManager = new PhoneIdentifierChallenge();
  await phoneIdentifierChallengeManager.switchToVoice();
  ```
</ParamField>
