auth0-mfa について
アカウント保護や機密性の高い操作向けに、Auth0 の多要素認証を設定するガイドです。対応要素、リスクベースのポリシー、ステップアップ認証と複数フレームワークの実装資料を扱います。
主な機能
- 01複数の MFA 要素の設定
- 02全体または適応型 MFA ポリシーの設定
- 03acr_values によるステップアップ認証
- 04amr クレームによる認証方式の確認
- 05各フレームワークの例とバックエンド検証資料
活用シーン
- 01ユーザーログインへの MFA 追加
- 02決済や設定変更時の追加認証
- 03リスクシグナルに応じた MFA の適用
- 04バックエンドでの MFA 状態の検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ auth0/ agent-skills --skill auth0-mfaインストール後、Claude Code で/auth0-mfaを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/advanced.mdapi.mdbackend.mdexamples.md詳細
Auth0 MFA ガイド
ユーザーアカウントを保護するために多要素認証を追加し、機密性の高い操作では追加の認証を必須にします。
概要
MFA とは?
多要素認証(MFA)では、ユーザーがアカウントにアクセスする際に、2 つ以上の認証要素を提示する必要があります。Auth0 は複数の MFA 要素に対応しており、機密性の高い操作でステップアップ認証を利用できます。
このスキルを使用する場面
- ユーザーアカウントを保護するために MFA を追加する場合
- 機密性の高い操作(支払い、設定変更など)で追加の認証を必須にする場合
- 適応型認証/リスクベース認証を実装する場合
- コンプライアンス要件(PCI-DSS、SOC2、HIPAA)を満たす場合
対応している MFA 要素
| 要素 | 種類 | 説明 |
|---|---|---|
| TOTP | 所持しているもの | 時間ベースのワンタイムパスワード(Google Authenticator、Authy) |
| SMS | 所持しているもの | テキストメッセージで送信されるワンタイムコード |
| 所持しているもの | メールで送信されるワンタイムコード | |
| Push | 所持しているもの | Auth0 Guardian アプリ経由のプッシュ通知 |
| WebAuthn | 所持しているもの/本人であること | セキュリティキー、生体認証、パスキー |
| Voice | 所持しているもの | 電話で送信されるワンタイムコード |
| Recovery Code | バックアップ | 1 回限り使用できるリカバリーコード |
主な概念
| 概念 | 説明 |
|---|---|
acr_values | 認証時に MFA を要求します |
amr claim | Authentication Methods Reference(認証方法の参照)—ユーザーがどのように認証されたかを示します |
| ステップアップ認証 | 初回ログイン後、特定の操作で MFA を必須にします |
| 適応型 MFA | リスクシグナルに基づいて条件付きで MFA を必須にします |
ステップ 1:テナントで MFA を有効にする
Auth0 Dashboard から設定する
- Security → Multi-factor Auth に移動します
- 使用する要素(TOTP、SMS など)を有効にします
- Policies を設定します:
- Always — すべてのログインで MFA を必須にします
- Adaptive — リスクベースの MFA を使用します
- Never — MFA を無効にします(代わりにステップアップ認証を使用してください)
Auth0 CLI から設定する
# View current MFA configuration
auth0 api get "guardian/factors"
# Enable TOTP (One-time Password)
auth0 api put "guardian/factors/otp" --data '{"enabled": true}'
# Enable SMS
auth0 api put "guardian/factors/sms" --data '{"enabled": true}'
# Enable Push notifications
auth0 api put "guardian/factors/push-notification" --data '{"enabled": true}'
# Enable WebAuthn (Roaming - Security Keys)
auth0 api put "guardian/factors/webauthn-roaming" --data '{"enabled": true}'
# Enable WebAuthn (Platform - Biometrics)
auth0 api put "guardian/factors/webauthn-platform" --data '{"enabled": true}'
# Enable Email
auth0 api put "guardian/factors/email" --data '{"enabled": true}'
MFA ポリシーを設定する
# Set MFA policy: "all-applications" or "confidence-score"
auth0 api patch "guardian/policies" --data '["all-applications"]'
ステップ 2:ステップアップ認証を実装する
ステップアップ認証では、すべてのログインで MFA を必須にすることなく、機密性の高い操作で MFA を要求できます。
acr_values パラメーター
認証リクエストに acr_values を含めることで MFA を要求できます:
acr_values=http://schemas.openid.net/pape/policies/2007/06/multi-factor
実装パターン
すべてのフレームワークで共通する基本的なパターンは次のとおりです:
- ユーザーがすでに MFA を完了しているか確認します(
amrclaim を調べます) - 未完了の場合は、
acr_valuesパラメーターで MFA を要求します - MFA が検証されたら、機密性の高い操作を実行します
フレームワーク別の完全な例については、例のガイドを参照してください:
- React(基本パターンとカスタムフック)
- Next.js(App Router)
- Vue.js
- Angular
追加リソース
整理しやすいよう、このスキルは複数のファイルに分かれています:
ステップアップ認証の例
すべてのフレームワークの完全なコード例:
- React(基本パターンとカスタムフックのパターン)
- Next.js(API ルートを使用した App Router)
- Vue.js(Composition API)
- Angular(サービスとコンポーネント)
バックエンドでの検証
バックエンドで MFA の状態を検証する方法:
- Node.js / Express での JWT 検証
- Python / Flask での検証
- ミドルウェアの例
高度なトピック
高度な MFA 実装パターン:
- Auth0 Actions を使用した適応型 MFA
- リスクシグナルに基づく条件付き MFA
- MFA Enrollment API
リファレンスガイド
一般的なパターンとトラブルシューティング:
- MFA を 30 日間記憶させる
- 高額取引で MFA を必須にする
- MFA の状態表示
- エラー処理
- AMR claim の値
- テスト戦略
- セキュリティに関する考慮事項
関連スキル
auth0-quickstart— Auth0 の基本設定auth0-passkeys— WebAuthn/パスキーの実装auth0-actions— カスタム認証ロジック
References
コメント
Markdown 対応