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

# MfaEmailChallenge

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

MfaEmailChallenge クラスは、`mfa-email-challenge` 画面の機能を実装しています。この画面は、ユーザーが MFA 中にメールアドレスを確認する必要がある場合に表示されます。

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/translations/Dcx0M11uuptU53TX/docs/images/cdy7uua7fh8z/2MOpok82dGPfHvpb8hy1Yc/fda2d95621af85e0ea6ff73d51d815ad/Screenshot_2025-02-20_at_13.11.50.png?fit=max&auto=format&n=Dcx0M11uuptU53TX&q=85&s=ff7cd85e90d5a2a672e6eb0e3f3e7506" alt="ACUL MFA Email Challenge" width="448" height="628" data-path="docs/images/cdy7uua7fh8z/2MOpok82dGPfHvpb8hy1Yc/fda2d95621af85e0ea6ff73d51d815ad/Screenshot_2025-02-20_at_13.11.50.png" />
</Frame>

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

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

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

const mfaEmailChallenge = new MfaEmailChallenge();
await mfaEmailChallenge.continue({
  code: '123456',
  rememberDevice: true
});
```

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

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

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

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

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

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

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

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

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

<ParamField body="user" type={<span><a href="/docs/ja-jp/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 MfaEmailChallenge from '@auth0/auth0-acul-js/mfa-email-challenge';
  const mfaEmailChallenge = new MfaEmailChallenge();
  mfaEmailChallenge.changeLanguage({
    language: 'fr',
  });
  ```

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

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

    <ParamField body="language" type="string" required>
      使用する言語の locale コード (たとえば `'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 MfaEmailChallenge from '@auth0/auth0-acul-js/mfa-email-challenge';

  const mfaEmailChallenge = new MfaEmailChallenge();
  await mfaEmailChallenge.continue({
    code: '123456',
    rememberDevice: true
  });
  ```

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

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

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

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

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

<ParamField body="pickEmail" type="Promise<void>">
  このメソッドは、利用可能な場合に別のメール設定を選択する操作を送信します。

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

  const mfaEmailChallenge = new MfaEmailChallenge();
  await mfaEmailChallenge.pickEmail();
  ```
</ParamField>

<ParamField body="resendCode" type="Promise<void>">
  このメソッドは、メールコードを再送します。

  ```typescript Example theme={null}
  import MfaEmailChallenge from '@auth0/auth0-acul-js/mfa-email-challenge';
  const mfaEmailChallenge = new MfaEmailChallenge();
  await mfaEmailChallenge.resendCode();
  ```
</ParamField>

<ParamField body="resendManager" type={<span><a href="/docs/ja-jp/libraries/acul/js-sdk/Screens/interfaces/ResendControl">ResendControl</a></span>}>
  このメソッドは、この画面でタイムアウト管理付きの再送機能を提供します。

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

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

  // ユーザーが再送ボタンをクリックしたときに startResend を呼び出します
  startResend();
  ```

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

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

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

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

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

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

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

  const mfaEmailChallenge = new MfaEmailChallenge();
  await mfaEmailChallenge.tryAnotherMethod();
  ```
</ParamField>
