UserMFAManagement コンポーネントを使用すると、ユーザーは My Account API を通じて、自身の多要素認証の認証要素を単一のカードベースのインターフェースで登録、表示、削除できます。
My Account API の認証方法管理機能を使用して、ユーザーの認証方法を管理するための包括的な UI をレンダリングします。
UserMFAManagement コンポーネントを使用すれば、ナビゲーションを制御したり、API エンドポイントを呼び出したり、state を管理したりする必要はありません。

サポート対象の認証要素
アプリケーションを設定する
- React(SPA)
- Next.js(RWA)
- shadcn
設定要件
UserMFAManagement コンポーネントをレンダリングする前に、Build Account Security UI を参照して、Auth0 テナントとアプリケーションを設定してください。MFA方式とスコープを有効にする
MFA方式を有効にする- Dashboard > Security > Multi-factor Auth に移動します。
- 使用する認証要素を有効にします。詳細については、Multi-Factor Authentication Factors を参照してください。
コンポーネントをインストールする
react-hook-form と @tanstack/react-query はピア依存関係です。このコマンドでは、共有ユーティリティと Auth0 連携に必要な @auth0/universal-components-core の依存関係もインストールされます。はじめに
- コンポーネントは、フレームワークに関係なく、常にルートエントリ
@auth0/universal-components-reactからインポートします。 - フレームワーク固有のサブパスを使用するのは
Auth0ComponentProviderコンポーネントのみです。React アプリケーションでは/spa、Next.js アプリケーションでは/rwaを使用します。
プロップス
表示プロップス
| プロップ | 型 | デフォルト | 説明 |
|---|---|---|---|
hideHeader | boolean | false | コンポーネントのヘッダー (タイトルと説明) を非表示にします。 |
readOnly | boolean | false | すべての変更操作 (登録と削除) を無効にします。認証要素は表示されますが、追加や削除はできません。 |
showActiveOnly | boolean | false | ユーザーに有効な登録が少なくとも1つある認証要素タイプのみを表示します。登録がない認証要素タイプは非表示になります。 |
disableEnroll | boolean | false | すべての認証要素タイプで登録ボタンを非表示にします。ユーザーは既存の認証要素を引き続き削除できます。 |
disableDelete | boolean | false | 登録済みのすべての認証要素の行で削除ボタンを非表示にします。ユーザーは新しい認証要素を引き続き登録できます。 |
factorConfig | Partial | {} | 認証要素タイプごとの表示状態と有効状態。 |
factorConfig を使用すると、tenant の設定を編集せずに、特定の認証要素タイプを表示またはグレーアウトできます。
各キーは認証要素タイプを表す string です。どちらのフィールドも省略可能で、デフォルトは true です。
サポートされる認証要素タイプのキー: phone、totp、email、push-notification、webauthn-platform、webauthn-roaming、recovery-code。
visibleは、リスト内の認証要素の行をレンダリングします (非表示にするにはfalse) 。enabledは、認証要素の行を操作可能な状態でレンダリングします (falseの場合、グレーアウトされ操作できなくなります) 。
Action プロップス
| プロップ | 型 | 説明 |
|---|---|---|
enrollAction | ComponentAction<MFAType> | 認証要素の登録に関するライフサイクルフック。disabled: trueを設定すると、登録アクションを無効にできます。 |
deleteAction | ComponentAction<MFAType> | 認証要素の削除に関するライフサイクルフック。disabled: trueを設定すると、削除アクションを無効にできます。 |
onBeforeを使用します。登録が正常に完了した後に関連するUIを更新したり、分析データを送信したりするには、onAfterを使用します。
onBefore を使用します。認証要素が正常に削除された後、onAfter が実行されます。
プロップスをカスタマイズ
| プロップス | 型 | 説明 |
|---|---|---|
customMessages | Partial<UserMfaManagementMessages> | デフォルトの UI テキストと翻訳を上書きします。 |
styling | ComponentStyling<UserMFAManagementClasses> | CSS 変数とクラスを上書きします。 |
schema | { email?: RegExp; phone?: RegExp } | メールアドレスおよび電話番号の入力フィールド用のカスタムバリデーションパターン。 |
利用可能なメッセージ
利用可能なメッセージ
ヘッダー
header.title, header.description, no_active_mfa, loading_text, component_error.title, component_error.descriptionActions actions.remove_button_label, actions.cancel_button_label, actions.confirm_button_label, actions.continue_button_label, actions.submit_button_label, actions.verify_button_label, actions.back_button_label, actions.deleting_button_text, actions.menu_aria_label認証要素タイプごと ({factor}は、phone、totp、email、push-notification、webauthn-platform、webauthn-roaming、またはrecovery-codeに置き換えます) factors.{factor}.title, factors.{factor}.description, factors.{factor}.button_text通知 notifications.factor_enroll_success, notifications.factor_remove_success, notifications.fetch_factors_error, notifications.factor_delete_error登録と削除 enrollment および remove_factor_dialog利用可能なスタイリングオプション
利用可能なスタイリングオプション
変数—CSSカスタムプロパティ
common両方のテーマに適用lightライトモードのみdarkダークモードのみ
UserMFAManagement-item各認証要素タイプのカードコンテナEnrollFactorModal-dialogContent認証要素の登録用マルチステップダイアログのコンテンツ領域FactorDeleteModal-dialogContentDelete確認ダイアログのコンテンツ領域
emailは、Email-OTP enrollment 時に入力されたメールアドレスを検証します (default: 標準的な RFC-5322 形式のパターン) 。phoneは、SMS enrollment 時に入力された電話番号を検証します (default: 国際 E.164 形式を受け入れます) 。
TypeScript 型定義
高度なカスタマイズ
useUserMFA フックを使用します。
showActiveOnly、readOnly、disableDelete、factorConfig、customMessages、enrollAction、deleteAction を受け取ります。認証要素のデータ、読み込み状態とアクションの状態、登録と削除の状態のほか、登録、検証、削除のフローを実装するために必要なハンドラーを返します。
組み込みのインターフェースを使用する場合は、UserMFAManagement を使用してください。フックを使用する場合は、サポートする認証要素タイプに対応した登録、検証、復旧コード、削除用の UI を実装してください。
enrollAction と deleteAction の onAfter は、アクションの完了直後ではなく、成功通知が閉じたときに実行されます。詳しく見る
ユーザーのパスキー管理
同じライフサイクルの仕組みでWebAuthnパスキーを管理します。
セルフサービスのアカウントセキュリティインターフェースを構築
すべてのMy Accountコンポーネントの概要、前提条件、フレームワークの設定について説明します。
