🔐auth0-mfa
- プラグイン
- auth0
- ライセンス
- Apache-2.0
- ソース
- GitHub で見る ↗
説明
次のような場合に使用: アプリにMFAまたはステップアップ認証を追加する場合 — ログイン時や機密性の高い操作を行う前に、第二の認証要素(TOTP、SMS、パスキー、プッシュ通知)によるユーザー確認を必須にする場合。 また、アダプティブ/リスクベースのMFAや、HIPAA・PCI-DSSなどのコンプライアンス要件に対応する場合にも使用します。 ユーザーが「二要素認証を追加して」や「この操作の前にMFAを要求して」と指示した場合も対象となります。
原文を表示
Use when adding MFA or step-up authentication to an app — requiring users to verify with a second factor (TOTP, SMS, passkey, push) for login or before a sensitive action. Also use for adaptive/risk-based MFA or compliance requirements like HIPAA or PCI-DSS, even if the user just says "add two-factor auth" or "require MFA before this action".
ユースケース
- ✓ログイン時に多要素認証を追加する
- ✓機密性の高い操作の前に認証要素を追加する
- ✓アダプティブ認証でリスク対応する
- ✓コンプライアンス要件に対応する
本文(日本語訳)
Auth0 MFA ガイド
多要素認証(MFA)を追加してユーザーアカウントを保護し、機密性の高い操作に対して追加の本人確認を要求します。
概要
MFA とは
多要素認証(MFA: Multi-Factor Authentication)は、ユーザーがアカウントにアクセスする際に2つ以上の認証要素を提示することを要求する仕組みです。 Auth0 は複数の MFA 要素をサポートしており、機密性の高い操作に対するステップアップ認証も有効化できます。
このスキルを使用する場面
- ユーザーアカウント保護のために MFA を追加する場合
- 機密性の高い操作(決済・設定変更など)に追加の本人確認を要求する場合
- アダプティブ認証(リスクベース認証)を実装する場合
- コンプライアンス要件(PCI-DSS、SOC2、HIPAA)を満たす必要がある場合
サポートされている MFA 要素
| 要素 | 種別 | 説明 |
|---|---|---|
| TOTP | 所持情報 | 時間ベースのワンタイムパスワード(Google Authenticator、Authy) |
| SMS | 所持情報 | SMS によるワンタイムコード |
| 所持情報 | メールによるワンタイムコード | |
| Push | 所持情報 | Auth0 Guardian アプリによるプッシュ通知 |
| WebAuthn | 所持情報 / 生体情報 | セキュリティキー、生体認証、パスキー |
| Voice | 所持情報 | 音声通話によるワンタイムコード |
| リカバリーコード | バックアップ | 使い切りのリカバリーコード |
主要概念
| 概念 | 説明 |
|---|---|
acr_values |
認証時に MFA を要求するパラメータ |
amr クレーム |
Authentication Methods Reference — ユーザーがどの方法で認証したかを示す |
| ステップアップ認証 | 初回ログイン後、特定の操作に対して MFA を要求する仕組み |
| アダプティブ MFA | リスクシグナルに基づいて条件付きで MFA を要求する仕組み |
ステップ 1: テナントで MFA を有効化する
Auth0 ダッシュボードから設定する
- Security → Multi-factor Auth に移動する
- 使用したい要素(TOTP、SMS など)を有効化する
- ポリシーを設定する:
- Always — すべてのログインで MFA を要求する
- Adaptive — リスクベースの MFA
- Never — MFA を無効化する(代わりにステップアップ認証を使用)
Auth0 CLI から設定する
# 現在の MFA 設定を確認する
auth0 api get "guardian/factors"
# TOTP(ワンタイムパスワード)を有効化する
auth0 api put "guardian/factors/otp" --data '{"enabled": true}'
# SMS を有効化する
auth0 api put "guardian/factors/sms" --data '{"enabled": true}'
# プッシュ通知を有効化する
auth0 api put "guardian/factors/push-notification" --data '{"enabled": true}'
# WebAuthn(ローミング — セキュリティキー)を有効化する
auth0 api put "guardian/factors/webauthn-roaming" --data '{"enabled": true}'
# WebAuthn(プラットフォーム — 生体認証)を有効化する
auth0 api put "guardian/factors/webauthn-platform" --data '{"enabled": true}'
# Email を有効化する
auth0 api put "guardian/factors/email" --data '{"enabled": true}'
MFA ポリシーを設定する
# MFA ポリシーを設定する: "all-applications" または "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 を完了しているか確認する(
amrクレームを検査) - 完了していない場合、
acr_valuesパラメータを使って MFA を要求する - MFA が検証されたら、機密性の高い操作を実行する
フレームワーク別の完全なコード例は サンプルガイド を参照してください:
- React(基本パターン・カスタムフックパターン)
- Next.js(App Router)
- Vue.js
- Angular
追加リソース
このスキルは整理しやすくするために複数のファイルに分割されています。
ステップアップ認証のサンプル
全フレームワーク向けの完全なコード例:
- React(基本パターン・カスタムフックパターン)
- Next.js(App Router と API ルート)
- Vue.js(Composition API)
- Angular(サービスとコンポーネント)
バックエンド検証
バックエンドで MFA ステータスを検証する方法:
- Node.js / Express による JWT 検証
- Python / Flask による検証
- ミドルウェアの実装例
高度なトピック
より高度な MFA 実装パターン:
- Auth0 Actions を使ったアダプティブ MFA
- リスクシグナルに基づく条件付き MFA
- MFA Enrollment API
リファレンスガイド
よく使われるパターンとトラブルシューティング:
- 30 日間 MFA を記憶させる
- 高額取引に対する MFA
- MFA ステータスの表示
- エラーハンドリング
- AMR クレームの値一覧
- テスト戦略
- セキュリティに関する考慮事項
関連スキル
auth0-quickstart— Auth0 の基本セットアップauth0-passkeys— WebAuthn / パスキーの実装auth0-actions— カスタム認証ロジック
参考リンク
原文(English)を表示
Auth0 MFA Guide
Add Multi-Factor Authentication to protect user accounts and require additional verification for sensitive operations.
Overview
What is MFA?
Multi-Factor Authentication (MFA) requires users to provide two or more verification factors to access their accounts. Auth0 supports multiple MFA factors and enables step-up authentication for sensitive operations.
When to Use This Skill
- Adding MFA to protect user accounts
- Requiring additional verification for sensitive actions (payments, settings changes)
- Implementing adaptive/risk-based authentication
- Meeting compliance requirements (PCI-DSS, SOC2, HIPAA)
MFA Factors Supported
| Factor | Type | Description |
|---|---|---|
| TOTP | Something you have | Time-based one-time passwords (Google Authenticator, Authy) |
| SMS | Something you have | One-time codes via text message |
| Something you have | One-time codes via email | |
| Push | Something you have | Push notifications via Auth0 Guardian app |
| WebAuthn | Something you have/are | Security keys, biometrics, passkeys |
| Voice | Something you have | One-time codes via phone call |
| Recovery Code | Backup | One-time use recovery codes |
Key Concepts
| Concept | Description |
|---|---|
acr_values |
Request MFA during authentication |
amr claim |
Authentication Methods Reference - indicates how user authenticated |
| Step-up auth | Require MFA for specific actions after initial login |
| Adaptive MFA | Conditionally require MFA based on risk signals |
Step 1: Enable MFA in Tenant
Via Auth0 Dashboard
- Go to Security → Multi-factor Auth
- Enable desired factors (TOTP, SMS, etc.)
- Configure Policies:
- Always - Require MFA for all logins
- Adaptive - Risk-based MFA
- Never - Disable MFA (use step-up instead)
Via 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}'
Configure MFA Policy
# Set MFA policy: "all-applications" or "confidence-score"
auth0 api patch "guardian/policies" --data '["all-applications"]'
Step 2: Implement Step-Up Authentication
Step-up auth requires MFA for sensitive operations without requiring it for every login.
The acr_values Parameter
Request MFA by including acr_values in your authorization request:
acr_values=http://schemas.openid.net/pape/policies/2007/06/multi-factor
Implementation Pattern
The general pattern for all frameworks:
- Check if user has already completed MFA (inspect
amrclaim) - If not, request MFA via
acr_valuesparameter - Proceed with sensitive action once MFA is verified
For complete framework-specific examples, see Examples Guide:
- React (basic and custom hook)
- Next.js (App Router)
- Vue.js
- Angular
Additional Resources
This skill is split into multiple files for better organization:
Step-Up Examples
Complete code examples for all frameworks:
- React (basic and custom hook patterns)
- Next.js (App Router with API routes)
- Vue.js (composition API)
- Angular (services and components)
Backend Validation
Learn how to validate MFA status on your backend:
- Node.js / Express JWT validation
- Python / Flask validation
- Middleware examples
Advanced Topics
Advanced MFA implementation patterns:
- Adaptive MFA with Auth0 Actions
- Conditional MFA based on risk signals
- MFA Enrollment API
Reference Guide
Common patterns and troubleshooting:
- Remember MFA for 30 days
- MFA for high-value transactions
- MFA status display
- Error handling
- AMR claim values
- Testing strategies
- Security considerations
Related Skills
auth0-quickstart- Basic Auth0 setupauth0-passkeys- WebAuthn/passkey implementationauth0-actions- Custom authentication logic
References
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。