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

# MfaSmsChallenge

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

MfaSmsChallenge クラスは、`mfa-sms-challenge` 画面の機能を実装します。この画面は、ユーザーが本人確認のために SMS コードを入力する必要がある場合に表示されます。

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/20G20ssvZiz0Z3OHp9QKmT/374f18dcf23be977240e53a51ea82012/Screenshot_2025-02-21_at_10.43.36.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=241b79fd40dcd15e4ec818212170f0aa" alt="MfaSmsChallenge" width="439" height="622" data-path="docs/images/cdy7uua7fh8z/20G20ssvZiz0Z3OHp9QKmT/374f18dcf23be977240e53a51ea82012/Screenshot_2025-02-21_at_10.43.36.png" />
</Frame>

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

MFA SMS Challenge 画面マネージャーのインスタンスを生成します。

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

const mfaSmsChallenge = new MfaSmsChallenge();
await mfaSmsChallenge.continueMfaSmsChallenge({
  code: '123456',
  rememberDevice: true,
});
```

<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-sms-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` など、ユーザーの組織に関する情報を提供します。
</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/ScreenMembersOnMfaSmsChallenge">ScreenMembersOnMfaSmsChallenge</a></span>}>
  構成やコンテキストを含む、`mfa-sms-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>}>
  アクティブな識別子やフローの状態など、`mfa-sms-challenge` 画面に関するトランザクション固有のデータを提供します。
</ParamField>

<ParamField body="untrustedData" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/UntrustedDataMembersOnMfaSmsChallenge">UntrustedDataMembersOnMfaSmsChallenge</a></span>}>
  MFA SMS チャレンジ中のユーザー入力など、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 MfaSmsChallenge from '@auth0/auth0-acul-js/mfa-sms-challenge';

  const mfaSmsChallenge = new MfaSmsChallenge();
  mfaSmsChallenge.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="continueMfaSmsChallenge" type="Promise<void>">
  このメソッドは、指定された code を使用して MFA SMS チャレンジを送信します。

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

  const mfaSmsChallenge = new MfaSmsChallenge();
  await mfaSmsChallenge.continueMfaSmsChallenge({
    code: '123456',
    rememberDevice: true,
  });
  ```

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

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

    <ParamField body="code" type="string" required>
      ユーザーが入力した SMS コード です。
    </ParamField>

    <ParamField body="rememberDevice?" type="boolean">
      `true` に設定すると、このデバイスを信頼済みとして登録し、同じデバイスからの以降のログインではユーザーに MFA を求めなくなります。
    </ParamField>
  </Expandable>
</ParamField>

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

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

  const mfaSmsChallenge = new MfaSmsChallenge();
  await mfaSmsChallenge.getACall();
  ```
</ParamField>

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

<ParamField body="pickSms" type="Promise<void>">
  このメソッドは、ユーザーが別の SMS 番号を選択できる画面に移動します。

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

  const mfaSmsChallenge = new MfaSmsChallenge();
  await mfaSmsChallenge.pickSms();
  ```
</ParamField>

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

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

  const mfaSmsChallenge = new MfaSmsChallenge();
  await mfaSmsChallenge.resendCode();
  ```
</ParamField>

<ParamField body="resendManager" type={<span><a href="/ja/docs/libraries/acul/js-sdk/Screens/interfaces/ResendControl">ResendControl</a></span>}>
  このメソッドは、タイムアウトとステータス管理を構成可能な再送機能を提供します。

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

  const mfaSmsChallenge = new MfaSmsChallenge();
  const { startResend } = mfaSmsChallenge.resendManager({
    timeoutSeconds: 15,
    onStatusChange: (remainingSeconds, isDisabled) => {
      console.log(`Resend available in ${remainingSeconds}s, disabled: ${isDisabled}`);
    },
    onTimeout: () => {
      console.log('Resend is now available');
    },
  });

  startResend();
  ```

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

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

    <ParamField body="timeoutSeconds?" type="number">
      再送オプションが利用可能になるまでの秒数です。
    </ParamField>
  </Expandable>
</ParamField>

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

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

  const mfaSmsChallenge = new MfaSmsChallenge();
  await mfaSmsChallenge.tryAnotherMethod();
  ```
</ParamField>
