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

サポート対象の認証要素

このコンポーネントは、My Account API で設定されたすべての認証方法に対応しています。

アプリケーションを設定する

フレームワークを選択して、環境変数とUniversal Componentsを構成します。

設定要件

UserMFAManagement コンポーネントをレンダリングする前に、Build Account Security UI を参照して、Auth0 テナントとアプリケーションを設定してください。

MFA方式とスコープを有効にする

MFA方式を有効にする
  1. Dashboard > Security > Multi-factor Auth に移動します。
  2. 使用する認証要素を有効にします。詳細については、Multi-Factor Authentication Factors を参照してください。
My Account API の権限を設定するBuild Account Security UI に従って、My Account API のユーザー委譲アクセス権限を設定します。認証方式の管理フローを完全に利用するには、5 つすべての権限が必要です。

コンポーネントをインストールする

react-hook-form@tanstack/react-query はピア依存関係です。このコマンドでは、共有ユーティリティと Auth0 連携に必要な @auth0/universal-components-core の依存関係もインストールされます。

はじめに

  • コンポーネントは、フレームワークに関係なく、常にルートエントリ @auth0/universal-components-react からインポートします。
  • フレームワーク固有のサブパスを使用するのは Auth0ComponentProvider コンポーネントのみです。React アプリケーションでは /spa、Next.js アプリケーションでは /rwa を使用します。

プロップス

表示プロップス

表示プロップスは、コンポーネントの動作に影響を与えずに、レンダリング方法を制御します。
プロップデフォルト説明
hideHeaderbooleanfalseコンポーネントのヘッダー (タイトルと説明) を非表示にします。
readOnlybooleanfalseすべての変更操作 (登録と削除) を無効にします。認証要素は表示されますが、追加や削除はできません。
showActiveOnlybooleanfalseユーザーに有効な登録が少なくとも1つある認証要素タイプのみを表示します。登録がない認証要素タイプは非表示になります。
disableEnrollbooleanfalseすべての認証要素タイプで登録ボタンを非表示にします。ユーザーは既存の認証要素を引き続き削除できます。
disableDeletebooleanfalse登録済みのすべての認証要素の行で削除ボタンを非表示にします。ユーザーは新しい認証要素を引き続き登録できます。
factorConfigPartial
<Record<MFAType,
{ visible?: boolean;
enabled?: boolean }>>
{}認証要素タイプごとの表示状態と有効状態。
factorConfig factorConfig を使用すると、tenant の設定を編集せずに、特定の認証要素タイプを表示またはグレーアウトできます。 各キーは認証要素タイプを表す string です。どちらのフィールドも省略可能で、デフォルトは true です。 サポートされる認証要素タイプのキー: phonetotpemailpush-notificationwebauthn-platformwebauthn-roamingrecovery-code
  • visible は、リスト内の認証要素の行をレンダリングします (非表示にするには false) 。
  • enabled は、認証要素の行を操作可能な状態でレンダリングします (false の場合、グレーアウトされ操作できなくなります) 。

Action プロップス

Action プロップスを使用すると、コンポーネントの認証要素の登録・削除に関するライフサイクルイベントにフックし、操作をトリガーまたはキャンセルできます。
プロップ説明
enrollActionComponentAction<MFAType>認証要素の登録に関するライフサイクルフック。disabled: trueを設定すると、登録アクションを無効にできます。
deleteActionComponentAction<MFAType>認証要素の削除に関するライフサイクルフック。disabled: trueを設定すると、削除アクションを無効にできます。
enrollAction フローの開始前に登録をキャンセルするには、onBeforeを使用します。登録が正常に完了した後に関連するUIを更新したり、分析データを送信したりするには、onAfterを使用します。
deleteAction 組み込みの確認ダイアログが表示される前に削除をキャンセルするには、onBefore を使用します。認証要素が正常に削除された後、onAfter が実行されます。

プロップスをカスタマイズ

カスタマイズ用プロップスを使用すると、ソースコードを変更せずに文言、バリデーションルール、スタイリングを調整できます。
プロップス説明
customMessagesPartial<UserMfaManagementMessages>デフォルトの UI テキストと翻訳を上書きします。
stylingComponentStyling<UserMFAManagementClasses>CSS 変数とクラスを上書きします。
schema{ email?: RegExp; phone?: RegExp }メールアドレスおよび電話番号の入力フィールド用のカスタムバリデーションパターン。
customMessages すべてのテキストと翻訳をカスタマイズできます。すべてのフィールドは任意です。
ヘッダー 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}は、phonetotpemailpush-notificationwebauthn-platformwebauthn-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変数とクラスの上書きで外観をカスタマイズできます。ライト/ダークテーマに対応しています。
変数—CSSカスタムプロパティ
  • common 両方のテーマに適用
  • light ライトモードのみ
  • dark ダークモードのみ
クラスの上書き
  • UserMFAManagement-item 各認証要素タイプのカードコンテナ
  • EnrollFactorModal-dialogContent 認証要素の登録用マルチステップダイアログのコンテンツ領域
  • FactorDeleteModal-dialogContent Delete確認ダイアログのコンテンツ領域
schema enrollment 中のユーザー入力を検証するための組み込み正規表現パターンを上書きします。どちらの field も任意です。設定されていない field には default のパターンが使用されます。
  • email は、Email-OTP enrollment 時に入力されたメールアドレスを検証します (default: 標準的な RFC-5322 形式のパターン) 。
  • phone は、SMS enrollment 時に入力された電話番号を検証します (default: 国際 E.164 形式を受け入れます) 。

TypeScript 型定義

高度なカスタマイズ

上記のコンポーネント設定に加え、カスタムMFA管理インターフェースを構築する必要がある場合は、useUserMFA フックを使用します。
このフックは、showActiveOnlyreadOnlydisableDeletefactorConfigcustomMessagesenrollActiondeleteAction を受け取ります。認証要素のデータ、読み込み状態とアクションの状態、登録と削除の状態のほか、登録、検証、削除のフローを実装するために必要なハンドラーを返します。 組み込みのインターフェースを使用する場合は、UserMFAManagement を使用してください。フックを使用する場合は、サポートする認証要素タイプに対応した登録、検証、復旧コード、削除用の UI を実装してください。
enrollActiondeleteActiononAfter は、アクションの完了直後ではなく、成功通知が閉じたときに実行されます。

詳しく見る

ユーザーのパスキー管理

同じライフサイクルの仕組みでWebAuthnパスキーを管理します。

セルフサービスのアカウントセキュリティインターフェースを構築

すべてのMy Accountコンポーネントの概要、前提条件、フレームワークの設定について説明します。