UserPasskeyManagement コンポーネントを使用すると、ユーザーは My Account API を使用して、カード形式の単一インターフェースでパスキーを登録・取り消しできます。レンダリングにプロップスは必要ありません。
このコンポーネントには、登録済みのパスキーのリスト、新しいパスキーを追加するボタン、取り消しオプションが表示されます。

前提条件
- Auth0 テナントにカスタムドメインを設定する。パスキーを使用するには、カスタムドメインが必要です。
- Auth0 のデータベース接続でパスキーを有効にする。Auth0 テナントでパスキーを有効にする方法については、パスキーを設定するを参照してください。
- オリジンを一致させる。Relying Party ID は、アプリケーションのドメインと同一であるか、その登録可能な親ドメインである必要があります。詳細については、パスキーの Relying Party IDを参照してください。
- アプリケーションで HTTPS を使用していることを確認する。WebAuthn では、アプリケーションが HTTPS 経由で提供される必要があります。
- アプリケーションに Universal Components をインストールして設定する。Universal Components のインストールと設定については、アカウントセキュリティ UI を構築するを参照してください。
アプリケーションを設定する
- React(SPA)
- Next.js(RWA)
- shadcn
コンポーネントをインストールする
react-hook-form と @tanstack/react-query はピア依存関係です。このコマンドにより、共有ユーティリティおよび Auth0 連携に必要な @auth0/universal-components-core もインストールされます。はじめに
- コンポーネントはフレームワークにかかわらず、常にルートエントリ
@auth0/universal-components-reactからインポートします。 - フレームワーク固有のサブパスを使用するのは
Auth0ComponentProviderコンポーネントだけです。React アプリケーションには/spa、Next.js アプリケーションには/rwaを使用します。
プロップス
表示プロップス
| プロップス | 型 | デフォルト | 説明 |
|---|---|---|---|
hideHeader | boolean | false | ページのヘッダー (タイトルと説明) を非表示にします。パスキー一覧を含むセクションカードは常に表示されます。 |
Action プロップス
| プロップ | 型 | 説明 |
|---|---|---|
addAction | ComponentAction<void> | パスキー追加フロー用のライフサイクルフックです。追加ボタンを非表示にするには、disabled: trueを設定します。 |
revokeAction | ComponentAction<Passkey> | パスキー取り消しフロー用のライフサイクルフックです。取り消しオプションを非表示にするには、disabled: trueを設定します。 |
onFetch | () => void | パスキーのリストが正常に読み込まれた後にトリガーされます。 |
onBeforeはブラウザーにWebAuthnプロンプトが表示される前にトリガーされます。キャンセルするにはfalseを返します (たとえば、パスキー数の上限を設ける場合) 。onAfterは新しいパスキーが保存された後にトリガーされます。
disabledは「パスキーを追加」ボタンを非表示にします。onBefore()はWebAuthn登録セレモニーの前に実行されます。キャンセルするにはfalseを返します。onAfter()はパスキーが正常に登録された後に実行されます。セッションの状態を更新したり、分析データを送信したりする際に使用します。
onBefore は組み込みの確認モーダルが表示される前に実行されるため、ユーザーにモーダルが表示される前にフローをキャンセルできます。onAfter は、パスキーがアカウントから削除された後にトリガーされます。
disabledは、パスキーアクションメニューから取り消しオプションを非表示にします。onBefore(passkey)は、取り消し API 呼び出しの前に実行されます。Passkeyオブジェクトを受け取ります。キャンセルするにはfalseを返します。onAfter(passkey)は、パスキーが正常に取り消された後に実行されます。取り消されたPasskeyオブジェクトを受け取ります。
disabled: true を設定します。
プロップスをカスタマイズする
| プロップス | 型 | 説明 |
|---|---|---|
customMessages | Partial<UserPasskeyManagementMessages> | デフォルトのUIテキストと翻訳を上書きします。 |
styling | ComponentStyling<UserPasskeyManagementClasses> | CSS変数とクラスの上書き。 |
利用可能なメッセージ
利用可能なメッセージ
- header—
title、description(ページレベルのヘッダー。hideHeaderがtrueの場合は非表示) - トップレベルのカード—
section_title、enabled(パスキーが登録されている場合に表示されるバッジ) 、no_passkeys(パスキーがない場合に表示するメッセージ) 、add_passkey(追加ボタンのラベル) - リスト項目—
created_at(プレースホルダーとして${date}を使用) 、last_used(プレースホルダーとして${date}を使用) - Actions—
actions.revoke(パスキーごとのアクションメニュー内のラベル) - 成功トースト—
success.add、success.revoke - 取り消し確認モーダル—
modals.revoke.title、modals.revoke.consent(パスキー名を太字にするには<bold>${name}</bold>を使用) 、modals.revoke.cancel、modals.revoke.confirm
利用可能なスタイリングオプション
利用可能なスタイリングオプション
変数—CSSカスタムプロパティ
common両方のテーマに適用lightライトモードのみdarkダークモードのみ
UserPasskeyManagement-rootパスキーリストを囲む外側のカードコンテナUserPasskeyManagement-item各パスキー行のカードPasskeyActionModal-modalContent取り消し確認モーダルのコンテンツ領域
TypeScript 型定義
高度なカスタマイズ
useUserPasskey フックを使用します。
customMessages、addAction、revokeAction、onFetch を受け取ります。パスキーデータ、読み込み状態とアクションの状態、現在の取り消し対象、パスキーの登録および取り消し用ハンドラーを返します。
組み込みのインターフェースを使用する場合は、UserPasskeyManagement を使用してください。フックを使用する場合は、対応する取り消し確認 UI と、それを閉じる動作を実装してください。
詳しく見る
ユーザーのMFA管理
パスキーと併せて、MFA認証要素 (TOTP、SMS、メールOTP、プッシュ、リカバリーコード) を管理します。
セルフサービスのアカウントセキュリティインターフェースを構築する
すべてのMy Accountコンポーネントの概要、前提条件、フレームワークの設定方法を紹介します。
