moai-adk 0.34.0__py3-none-any.whl → 1.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- moai_adk/__main__.py +136 -5
- moai_adk/astgrep/__init__.py +37 -0
- moai_adk/astgrep/analyzer.py +522 -0
- moai_adk/astgrep/models.py +124 -0
- moai_adk/astgrep/rules.py +179 -0
- moai_adk/cli/commands/analyze.py +11 -2
- moai_adk/cli/commands/doctor.py +7 -1
- moai_adk/cli/commands/init.py +321 -11
- moai_adk/cli/commands/language.py +7 -1
- moai_adk/cli/commands/rank.py +449 -0
- moai_adk/cli/commands/status.py +7 -1
- moai_adk/cli/commands/switch.py +325 -0
- moai_adk/cli/commands/update.py +296 -23
- moai_adk/cli/prompts/init_prompts.py +362 -66
- moai_adk/cli/prompts/translations/__init__.py +573 -0
- moai_adk/cli/ui/prompts.py +61 -2
- moai_adk/cli/worktree/cli.py +106 -1
- moai_adk/cli/worktree/manager.py +155 -0
- moai_adk/core/config/unified.py +244 -63
- moai_adk/core/credentials.py +264 -0
- moai_adk/core/error_recovery_system.py +22 -4
- moai_adk/core/git/conflict_detector.py +10 -1
- moai_adk/core/git/event_detector.py +16 -5
- moai_adk/core/integration/engine.py +2 -2
- moai_adk/core/integration/integration_tester.py +5 -5
- moai_adk/core/language_config_resolver.py +9 -3
- moai_adk/core/merge/analyzer.py +509 -324
- moai_adk/core/migration/alfred_to_moai_migrator.py +7 -1
- moai_adk/core/migration/backup_manager.py +54 -4
- moai_adk/core/migration/file_migrator.py +174 -2
- moai_adk/core/migration/interactive_checkbox_ui.py +42 -31
- moai_adk/core/migration/version_detector.py +123 -19
- moai_adk/core/migration/version_migrator.py +44 -9
- moai_adk/core/model_allocator.py +241 -0
- moai_adk/core/project/backup_utils.py +12 -2
- moai_adk/core/project/initializer.py +44 -87
- moai_adk/core/project/phase_executor.py +95 -33
- moai_adk/core/project/validator.py +16 -1
- moai_adk/core/quality/trust_checker.py +30 -10
- moai_adk/core/rollback_manager.py +60 -25
- moai_adk/core/template/backup.py +88 -6
- moai_adk/core/template/config.py +33 -9
- moai_adk/core/template/merger.py +34 -8
- moai_adk/core/template/processor.py +334 -11
- moai_adk/core/template_engine.py +10 -1
- moai_adk/core/template_variable_synchronizer.py +16 -2
- moai_adk/core/version_sync.py +54 -6
- moai_adk/foundation/__init__.py +1 -20
- moai_adk/foundation/testing.py +1 -1
- moai_adk/loop/__init__.py +54 -0
- moai_adk/loop/controller.py +305 -0
- moai_adk/loop/feedback.py +230 -0
- moai_adk/loop/state.py +209 -0
- moai_adk/loop/storage.py +220 -0
- moai_adk/lsp/__init__.py +70 -0
- moai_adk/lsp/client.py +320 -0
- moai_adk/lsp/models.py +261 -0
- moai_adk/lsp/protocol.py +404 -0
- moai_adk/lsp/server_manager.py +248 -0
- moai_adk/project/configuration.py +8 -1
- moai_adk/py.typed +0 -0
- moai_adk/ralph/__init__.py +37 -0
- moai_adk/ralph/engine.py +307 -0
- moai_adk/rank/__init__.py +21 -0
- moai_adk/rank/auth.py +425 -0
- moai_adk/rank/client.py +557 -0
- moai_adk/rank/config.py +147 -0
- moai_adk/rank/hook.py +1503 -0
- moai_adk/rank/py.typed +0 -0
- moai_adk/statusline/__init__.py +3 -0
- moai_adk/statusline/enhanced_output_style_detector.py +5 -5
- moai_adk/statusline/main.py +20 -1
- moai_adk/statusline/memory_collector.py +268 -0
- moai_adk/statusline/renderer.py +54 -38
- moai_adk/tag_system/__init__.py +48 -0
- moai_adk/tag_system/atomic_ops.py +117 -0
- moai_adk/tag_system/linkage.py +335 -0
- moai_adk/tag_system/parser.py +176 -0
- moai_adk/tag_system/validator.py +200 -0
- moai_adk/templates/.claude/agents/moai/builder-agent.md +19 -3
- moai_adk/templates/.claude/agents/moai/builder-command.md +62 -16
- moai_adk/templates/.claude/agents/moai/builder-plugin.md +763 -0
- moai_adk/templates/.claude/agents/moai/builder-skill.md +21 -5
- moai_adk/templates/.claude/agents/moai/expert-backend.md +103 -39
- moai_adk/templates/.claude/agents/moai/expert-debug.md +9 -3
- moai_adk/templates/.claude/agents/moai/expert-devops.md +16 -14
- moai_adk/templates/.claude/agents/moai/expert-frontend.md +45 -31
- moai_adk/templates/.claude/agents/moai/expert-performance.md +13 -9
- moai_adk/templates/.claude/agents/moai/expert-refactoring.md +228 -0
- moai_adk/templates/.claude/agents/moai/expert-security.md +19 -3
- moai_adk/templates/.claude/agents/moai/expert-testing.md +13 -9
- moai_adk/templates/.claude/agents/moai/manager-claude-code.md +8 -2
- moai_adk/templates/.claude/agents/moai/manager-docs.md +10 -5
- moai_adk/templates/.claude/agents/moai/manager-git.md +99 -27
- moai_adk/templates/.claude/agents/moai/manager-project.md +87 -7
- moai_adk/templates/.claude/agents/moai/manager-quality.md +22 -5
- moai_adk/templates/.claude/agents/moai/manager-spec.md +8 -2
- moai_adk/templates/.claude/agents/moai/manager-strategy.md +45 -14
- moai_adk/templates/.claude/agents/moai/manager-tdd.md +16 -3
- moai_adk/templates/.claude/commands/moai/0-project.md +239 -1185
- moai_adk/templates/.claude/commands/moai/1-plan.md +383 -363
- moai_adk/templates/.claude/commands/moai/2-run.md +254 -347
- moai_adk/templates/.claude/commands/moai/3-sync.md +174 -100
- moai_adk/templates/.claude/commands/moai/9-feedback.md +49 -33
- moai_adk/templates/.claude/commands/moai/alfred.md +339 -0
- moai_adk/templates/.claude/commands/moai/cancel-loop.md +163 -0
- moai_adk/templates/.claude/commands/moai/fix.md +264 -0
- moai_adk/templates/.claude/commands/moai/loop.md +363 -0
- moai_adk/templates/.claude/hooks/moai/lib/README.md +143 -0
- moai_adk/templates/.claude/hooks/moai/lib/__init__.py +37 -81
- moai_adk/templates/.claude/hooks/moai/lib/alfred_detector.py +105 -0
- moai_adk/templates/.claude/hooks/moai/lib/atomic_write.py +122 -0
- moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +4 -1
- moai_adk/templates/.claude/hooks/moai/lib/common.py +35 -5
- moai_adk/templates/.claude/hooks/moai/lib/config.py +376 -0
- moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +24 -28
- moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +14 -14
- moai_adk/templates/.claude/hooks/moai/lib/enhanced_output_style_detector.py +372 -0
- moai_adk/templates/.claude/hooks/moai/lib/exceptions.py +171 -0
- moai_adk/templates/.claude/hooks/moai/lib/file_utils.py +95 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_collector.py +190 -0
- moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +15 -13
- moai_adk/templates/.claude/hooks/moai/lib/language_detector.py +298 -0
- moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +125 -25
- moai_adk/templates/.claude/hooks/moai/lib/main.py +341 -0
- moai_adk/templates/.claude/hooks/moai/lib/memory_collector.py +268 -0
- moai_adk/templates/.claude/hooks/moai/lib/metrics_tracker.py +78 -0
- moai_adk/templates/.claude/hooks/moai/lib/models.py +9 -7
- moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +204 -13
- moai_adk/templates/.claude/hooks/moai/lib/project.py +23 -14
- moai_adk/templates/.claude/hooks/moai/lib/renderer.py +359 -0
- moai_adk/templates/.claude/hooks/moai/lib/tag_linkage.py +333 -0
- moai_adk/templates/.claude/hooks/moai/lib/tag_parser.py +176 -0
- moai_adk/templates/.claude/hooks/moai/lib/tag_validator.py +200 -0
- moai_adk/templates/.claude/hooks/moai/lib/timeout.py +5 -5
- moai_adk/templates/.claude/hooks/moai/lib/tool_registry.py +896 -0
- moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +30 -18
- moai_adk/templates/.claude/hooks/moai/lib/update_checker.py +129 -0
- moai_adk/templates/.claude/hooks/moai/lib/version_reader.py +741 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__ast_grep_scan.py +276 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__code_formatter.py +255 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__coverage_guard.py +325 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__linter.py +315 -0
- moai_adk/templates/.claude/hooks/moai/post_tool__lsp_diagnostic.py +508 -0
- moai_adk/templates/.claude/hooks/moai/pre_commit__tag_validator.py +287 -0
- moai_adk/templates/.claude/hooks/moai/pre_tool__security_guard.py +268 -0
- moai_adk/templates/.claude/hooks/moai/pre_tool__tdd_enforcer.py +208 -0
- moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +93 -61
- moai_adk/templates/.claude/hooks/moai/session_end__rank_submit.py +69 -0
- moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +165 -70
- moai_adk/templates/.claude/hooks/moai/shared/utils/announcement_translator.py +206 -0
- moai_adk/templates/.claude/hooks/moai/stop__loop_controller.py +621 -0
- moai_adk/templates/.claude/output-styles/moai/alfred.md +758 -0
- moai_adk/templates/.claude/output-styles/moai/r2d2.md +86 -3
- moai_adk/templates/.claude/output-styles/moai/yoda.md +2 -2
- moai_adk/templates/.claude/settings.json +154 -77
- moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +252 -198
- moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +169 -323
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +39 -27
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +115 -125
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +150 -150
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +182 -175
- moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +198 -138
- moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +226 -320
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +43 -222
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +75 -219
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +103 -463
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/component-architecture.md +723 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/nextjs16-patterns.md +713 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/performance-optimization.md +694 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/react19-patterns.md +591 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/state-management.md +680 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/modules/vue35-patterns.md +802 -0
- moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +118 -339
- moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +74 -377
- moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +299 -70
- moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +205 -182
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/advanced-agent-patterns.md +370 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-cli-reference-official.md +420 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +32 -22
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-devcontainers-official.md +381 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-discover-plugins-official.md +379 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-headless-official.md +378 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +110 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugin-marketplaces-official.md +308 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-plugins-official.md +640 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sandboxing-official.md +282 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +425 -71
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-statusline-official.md +293 -0
- moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +325 -143
- moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +96 -316
- moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +116 -294
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-advanced.md +279 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-implementation.md +267 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +121 -650
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/patterns.md +22 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-ears-format.md +200 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +37 -730
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-tdd-implementation.md +275 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +77 -819
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-implementation.md +244 -0
- moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-validation.md +219 -0
- moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +14 -18
- moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +86 -270
- moai_adk/templates/.claude/skills/moai-framework-electron/SKILL.md +288 -0
- moai_adk/templates/.claude/skills/moai-framework-electron/examples.md +2082 -0
- moai_adk/templates/.claude/skills/moai-framework-electron/reference.md +1649 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +76 -582
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +1239 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/modules/advanced-patterns.md +401 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +1136 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +82 -436
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +585 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/aspnet-core.md +627 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/blazor-components.md +767 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/cqrs-validation.md +626 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/csharp12-features.md +580 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/modules/efcore-patterns.md +622 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +403 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +65 -542
- moai_adk/templates/.claude/skills/moai-lang-elixir/examples.md +1171 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/modules/advanced-patterns.md +531 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/reference.md +889 -0
- moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +32 -405
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +114 -293
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +83 -307
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +179 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +973 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +1543 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +42 -279
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +94 -556
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +1608 -0
- moai_adk/templates/.claude/skills/moai-lang-php/modules/advanced-patterns.md +538 -0
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +1323 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +108 -358
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +84 -482
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +1154 -0
- moai_adk/templates/.claude/skills/moai-lang-r/modules/advanced-patterns.md +489 -0
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +1087 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +106 -610
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +1106 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/modules/advanced-patterns.md +309 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/modules/testing-patterns.md +306 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +1024 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +51 -265
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +106 -442
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/akka-actors.md +479 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/cats-effect.md +489 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/functional-programming.md +460 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/spark-data.md +498 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/modules/zio-patterns.md +541 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +88 -457
- moai_adk/templates/.claude/skills/moai-lang-swift/modules/combine-reactive.md +256 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/modules/concurrency.md +270 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/modules/swift6-features.md +265 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/modules/swiftui-patterns.md +314 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +75 -283
- moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +97 -252
- moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +64 -240
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +331 -12
- moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +330 -37
- moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +90 -287
- moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +200 -206
- moai_adk/templates/.claude/skills/moai-platform-auth0/examples.md +2446 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/adaptive-mfa.md +233 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/akamai-integration.md +214 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/application-credentials.md +280 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-log-events.md +224 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/attack-protection-overview.md +140 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/bot-detection.md +144 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/breached-password-detection.md +187 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/brute-force-protection.md +189 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/certifications.md +282 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/compliance-overview.md +263 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/continuous-session-protection.md +307 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/customize-mfa.md +177 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/dpop-implementation.md +283 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/fapi-implementation.md +259 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/gdpr-compliance.md +313 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/guardian-configuration.md +269 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/highly-regulated-identity.md +272 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/jwt-fundamentals.md +248 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mdl-verification.md +210 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-api-management.md +278 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-factors.md +226 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mfa-overview.md +174 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/mtls-sender-constraining.md +316 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/ropg-flow-mfa.md +216 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-center.md +325 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/security-guidance.md +277 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/state-parameters.md +177 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/step-up-authentication.md +251 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/suspicious-ip-throttling.md +240 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/tenant-access-control.md +179 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/modules/webauthn-fido.md +235 -0
- moai_adk/templates/.claude/skills/moai-platform-auth0/reference.md +224 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +75 -330
- moai_adk/templates/.claude/skills/moai-platform-clerk/examples.md +1426 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/modules/advanced-patterns.md +417 -0
- moai_adk/templates/.claude/skills/moai-platform-clerk/reference.md +273 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +100 -340
- moai_adk/templates/.claude/skills/moai-platform-convex/examples.md +506 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/modules/auth-integration.md +421 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/modules/file-storage.md +474 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/modules/reactive-queries.md +302 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/modules/server-functions.md +452 -0
- moai_adk/templates/.claude/skills/moai-platform-convex/reference.md +385 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +113 -326
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/examples.md +514 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/custom-claims.md +374 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/phone-auth.md +372 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/modules/social-auth.md +339 -0
- moai_adk/templates/.claude/skills/moai-platform-firebase-auth/reference.md +382 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +71 -302
- moai_adk/templates/.claude/skills/moai-platform-firestore/examples.md +445 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/modules/offline-cache.md +392 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/modules/realtime-listeners.md +441 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/modules/security-rules.md +352 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/modules/transactions.md +452 -0
- moai_adk/templates/.claude/skills/moai-platform-firestore/reference.md +322 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +101 -412
- moai_adk/templates/.claude/skills/moai-platform-neon/examples.md +470 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/modules/auto-scaling.md +349 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/modules/branching-workflows.md +354 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/modules/connection-pooling.md +412 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/modules/pitr-backups.md +458 -0
- moai_adk/templates/.claude/skills/moai-platform-neon/reference.md +272 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +96 -327
- moai_adk/templates/.claude/skills/moai-platform-railway/examples.md +539 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/modules/docker-deployment.md +261 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/modules/multi-service.md +291 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/modules/networking-domains.md +338 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/modules/volumes-storage.md +353 -0
- moai_adk/templates/.claude/skills/moai-platform-railway/reference.md +374 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +103 -428
- moai_adk/templates/.claude/skills/moai-platform-supabase/examples.md +502 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/auth-integration.md +384 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/edge-functions.md +371 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/postgresql-pgvector.md +231 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/realtime-presence.md +354 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/row-level-security.md +286 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/storage-cdn.md +319 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/modules/typescript-patterns.md +453 -0
- moai_adk/templates/.claude/skills/moai-platform-supabase/reference.md +284 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +96 -446
- moai_adk/templates/.claude/skills/moai-platform-vercel/examples.md +502 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/analytics-speed.md +348 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/deployment-config.md +344 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/edge-functions.md +222 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/isr-caching.md +306 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/modules/kv-storage.md +399 -0
- moai_adk/templates/.claude/skills/moai-platform-vercel/reference.md +360 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/SKILL.md +193 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/examples.md +1099 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/language-specific.md +307 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/pattern-syntax.md +237 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/refactoring-patterns.md +260 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/modules/security-rules.md +239 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/reference.md +288 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/go.yml +90 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/python.yml +101 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/languages/typescript.yml +83 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/complexity-check.yml +94 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/quality/deprecated-apis.yml +84 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/secrets-detection.yml +89 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/sql-injection.yml +45 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/security/xss-prevention.yml +50 -0
- moai_adk/templates/.claude/skills/moai-tool-ast-grep/rules/sgconfig.yml +54 -0
- moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +225 -423
- moai_adk/templates/.claude/skills/moai-workflow-loop/SKILL.md +197 -0
- moai_adk/templates/.claude/skills/moai-workflow-loop/examples.md +1063 -0
- moai_adk/templates/.claude/skills/moai-workflow-loop/reference.md +1414 -0
- moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +211 -314
- moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +15 -43
- moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +119 -316
- moai_adk/templates/.claude/skills/moai-workflow-spec/modules/advanced-patterns.md +237 -0
- moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +96 -203
- moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +201 -388
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +52 -3
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +263 -806
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/context7-integration.md +286 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/review-workflows.md +500 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/relevance-analysis.md +154 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/safety-analysis.md +148 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/scoring-algorithms.md +196 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/timeliness-analysis.md +168 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/truthfulness-analysis.md +136 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework/usability-analysis.md +153 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review/trust5-framework.md +257 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +191 -1344
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/analysis-patterns.md +340 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/core-classes.md +299 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/code-review/tool-integration.md +380 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/debugging-workflows.md +451 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/debugging/error-analysis.md +442 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/optimization-patterns.md +473 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance/profiling-techniques.md +481 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/ai-optimization.md +241 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/bottleneck-detection.md +397 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/optimization-plan.md +315 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/profiler-core.md +277 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization/real-time-monitoring.md +187 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +287 -1194
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/quality-metrics.md +415 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/ai-workflows.md +620 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/refactoring/patterns.md +692 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/security-analysis.md +429 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +262 -1192
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/static-analysis.md +438 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd/core-classes.md +397 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/advanced-features.md +494 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/red-green-refactor.md +316 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-generation.md +471 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7/test-patterns.md +371 -0
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +227 -1222
- moai_adk/templates/.claude/skills/moai-workflow-testing/modules/trust5-validation.md +428 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/SKILL.md +228 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/integration-patterns.md +149 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/moai-adk-integration.md +245 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-advanced.md +310 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-development.md +202 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/parallel-workflows.md +302 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/registry-architecture.md +271 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/resource-optimization.md +300 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/tools-integration.md +280 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/troubleshooting.md +397 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-commands.md +296 -0
- moai_adk/templates/.claude/skills/moai-workflow-worktree/modules/worktree-management.md +217 -0
- moai_adk/templates/.git-hooks/pre-push +162 -59
- moai_adk/templates/.github/workflows/ci-universal.yml +934 -133
- moai_adk/templates/.gitignore +65 -107
- moai_adk/templates/.lsp.json +152 -0
- moai_adk/templates/.mcp.json +2 -20
- moai_adk/templates/.moai/announcements/en.json +18 -0
- moai_adk/templates/.moai/announcements/ja.json +18 -0
- moai_adk/templates/.moai/announcements/ko.json +18 -0
- moai_adk/templates/.moai/announcements/zh.json +18 -0
- moai_adk/templates/.moai/config/config.yaml +8 -2
- moai_adk/templates/.moai/config/multilingual-triggers.yaml +213 -0
- moai_adk/templates/.moai/config/sections/language.yaml +2 -2
- moai_adk/templates/.moai/config/sections/llm.yaml +41 -0
- moai_adk/templates/.moai/config/sections/pricing.yaml +30 -0
- moai_adk/templates/.moai/config/sections/project.yaml +2 -2
- moai_adk/templates/.moai/config/sections/quality.yaml +43 -5
- moai_adk/templates/.moai/config/sections/ralph.yaml +55 -0
- moai_adk/templates/.moai/config/sections/system.yaml +46 -1
- moai_adk/templates/.moai/config/sections/user.yaml +1 -1
- moai_adk/templates/.moai/config/statusline-config.yaml +2 -2
- moai_adk/templates/.moai/llm-configs/glm.json +22 -0
- moai_adk/templates/CLAUDE.ja.md +343 -0
- moai_adk/templates/CLAUDE.ko.md +343 -0
- moai_adk/templates/CLAUDE.md +200 -499
- moai_adk/templates/CLAUDE.zh.md +343 -0
- moai_adk/utils/common.py +37 -0
- moai_adk/version.py +1 -1
- moai_adk-1.1.0.dist-info/METADATA +2443 -0
- moai_adk-1.1.0.dist-info/RECORD +701 -0
- {moai_adk-0.34.0.dist-info → moai_adk-1.1.0.dist-info}/entry_points.txt +2 -0
- moai_adk-1.1.0.dist-info/licenses/LICENSE +99 -0
- moai_adk/core/config/auto_spec_config.py +0 -340
- moai_adk/core/hooks/post_tool_auto_spec_completion.py +0 -901
- moai_adk/core/spec/confidence_scoring.py +0 -680
- moai_adk/core/spec/ears_template_engine.py +0 -1247
- moai_adk/core/spec/quality_validator.py +0 -687
- moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +0 -670
- moai_adk/templates/.claude/agents/moai/expert-database.md +0 -777
- moai_adk/templates/.claude/agents/moai/expert-uiux.md +0 -1041
- moai_adk/templates/.claude/agents/moai/mcp-context7.md +0 -458
- moai_adk/templates/.claude/agents/moai/mcp-figma.md +0 -1607
- moai_adk/templates/.claude/agents/moai/mcp-notion.md +0 -789
- moai_adk/templates/.claude/agents/moai/mcp-playwright.md +0 -469
- moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +0 -1032
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +0 -438
- moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +0 -431
- moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +0 -405
- moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +0 -336
- moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +0 -402
- moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +0 -607
- moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +0 -300
- moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +0 -537
- moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +0 -520
- moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +0 -574
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +0 -317
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +0 -663
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +0 -190
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +0 -175
- moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +0 -196
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +0 -17
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +0 -158
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +0 -340
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +0 -713
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +0 -538
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +0 -1336
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +0 -730
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +0 -608
- moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +0 -1005
- moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +0 -436
- moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +0 -411
- moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +0 -982
- moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +0 -778
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +0 -646
- moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +0 -782
- moai_adk/templates/.moai/config/questions/_schema.yaml +0 -151
- moai_adk/templates/.moai/config/questions/tab0-init.yaml +0 -251
- moai_adk/templates/.moai/config/questions/tab1-user.yaml +0 -108
- moai_adk/templates/.moai/config/questions/tab2-project.yaml +0 -81
- moai_adk/templates/.moai/config/questions/tab3-git.yaml +0 -634
- moai_adk/templates/.moai/config/questions/tab4-quality.yaml +0 -170
- moai_adk/templates/.moai/config/questions/tab5-system.yaml +0 -87
- moai_adk/templates/.moai/scripts/setup-glm.py +0 -136
- moai_adk-0.34.0.dist-info/METADATA +0 -2999
- moai_adk-0.34.0.dist-info/RECORD +0 -463
- moai_adk-0.34.0.dist-info/licenses/LICENSE +0 -21
- /moai_adk/foundation/{git.py → git/__init__.py} +0 -0
- /moai_adk/templates/.claude/skills/moai-library-mermaid/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-library-mermaid/{optimization.md → modules/optimization.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-library-nextra/{optimization.md → modules/optimization.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-workflow-jit-docs/{optimization.md → modules/optimization.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-workflow-testing/{advanced-patterns.md → modules/advanced-patterns.md} +0 -0
- /moai_adk/templates/.claude/skills/moai-workflow-testing/{optimization.md → modules/optimization.md} +0 -0
- /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/examples.md +0 -0
- /moai_adk/templates/.claude/skills/{moai-worktree → moai-workflow-worktree}/reference.md +0 -0
- {moai_adk-0.34.0.dist-info → moai_adk-1.1.0.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
# MFA API Management
|
|
2
|
+
|
|
3
|
+
Manage multi-factor authentication programmatically using Auth0 Management API and Authentication API for enrollments, factors, and user MFA settings.
|
|
4
|
+
|
|
5
|
+
## Management API Operations
|
|
6
|
+
|
|
7
|
+
### List User Enrollments
|
|
8
|
+
|
|
9
|
+
Retrieve all MFA enrollments for a user.
|
|
10
|
+
|
|
11
|
+
Endpoint: GET /api/v2/users/{user_id}/enrollments
|
|
12
|
+
|
|
13
|
+
Response includes:
|
|
14
|
+
- Enrollment ID
|
|
15
|
+
- Factor type
|
|
16
|
+
- Status (confirmed, pending)
|
|
17
|
+
- Enrollment date
|
|
18
|
+
- Device information
|
|
19
|
+
|
|
20
|
+
### Delete User Enrollment
|
|
21
|
+
|
|
22
|
+
Remove a specific MFA enrollment.
|
|
23
|
+
|
|
24
|
+
Endpoint: DELETE /api/v2/users/{user_id}/enrollments/{enrollment_id}
|
|
25
|
+
|
|
26
|
+
Use cases:
|
|
27
|
+
- User lost device
|
|
28
|
+
- Factor replacement
|
|
29
|
+
- Security incident response
|
|
30
|
+
|
|
31
|
+
### Reset User MFA
|
|
32
|
+
|
|
33
|
+
Remove all MFA enrollments for a user.
|
|
34
|
+
|
|
35
|
+
Endpoint: DELETE /api/v2/users/{user_id}/authenticators
|
|
36
|
+
|
|
37
|
+
Effect:
|
|
38
|
+
- Removes all enrolled factors
|
|
39
|
+
- User must re-enroll on next MFA challenge
|
|
40
|
+
- Recovery codes invalidated
|
|
41
|
+
|
|
42
|
+
### Generate Recovery Codes
|
|
43
|
+
|
|
44
|
+
Create new recovery codes for a user.
|
|
45
|
+
|
|
46
|
+
Endpoint: POST /api/v2/users/{user_id}/recovery-code-regeneration
|
|
47
|
+
|
|
48
|
+
Response:
|
|
49
|
+
- New recovery codes array
|
|
50
|
+
- Previous codes invalidated
|
|
51
|
+
- User must store new codes
|
|
52
|
+
|
|
53
|
+
## Authentication API Operations
|
|
54
|
+
|
|
55
|
+
### MFA Challenge
|
|
56
|
+
|
|
57
|
+
Initiate MFA challenge during authentication.
|
|
58
|
+
|
|
59
|
+
Endpoint: POST /oauth/token (with mfa_token)
|
|
60
|
+
|
|
61
|
+
Parameters:
|
|
62
|
+
- mfa_token: Token from initial authentication
|
|
63
|
+
- challenge_type: Factor type to challenge
|
|
64
|
+
- authenticator_id: Specific enrollment (optional)
|
|
65
|
+
|
|
66
|
+
### MFA OOB Challenge
|
|
67
|
+
|
|
68
|
+
Initiate out-of-band challenge (push, SMS).
|
|
69
|
+
|
|
70
|
+
Endpoint: POST /mfa/challenge
|
|
71
|
+
|
|
72
|
+
Parameters:
|
|
73
|
+
- mfa_token: MFA session token
|
|
74
|
+
- challenge_type: oob
|
|
75
|
+
- authenticator_id: Enrollment ID
|
|
76
|
+
- oob_channel: push, sms, or voice
|
|
77
|
+
|
|
78
|
+
### Verify MFA
|
|
79
|
+
|
|
80
|
+
Complete MFA verification.
|
|
81
|
+
|
|
82
|
+
Endpoint: POST /oauth/token
|
|
83
|
+
|
|
84
|
+
Parameters:
|
|
85
|
+
- grant_type: mfa-oob or mfa-otp
|
|
86
|
+
- mfa_token: MFA session token
|
|
87
|
+
- otp: One-time password (for TOTP)
|
|
88
|
+
- oob_code: Out-of-band code (for SMS)
|
|
89
|
+
- binding_code: Push notification code
|
|
90
|
+
|
|
91
|
+
## Enrollment Management
|
|
92
|
+
|
|
93
|
+
### Programmatic Enrollment
|
|
94
|
+
|
|
95
|
+
Enroll user in MFA factor via API.
|
|
96
|
+
|
|
97
|
+
Steps:
|
|
98
|
+
1. Get enrollment ticket via Management API
|
|
99
|
+
2. Generate enrollment data (QR, secret)
|
|
100
|
+
3. Present to user for enrollment
|
|
101
|
+
4. Confirm enrollment
|
|
102
|
+
|
|
103
|
+
### Enrollment Verification
|
|
104
|
+
|
|
105
|
+
Confirm pending enrollment.
|
|
106
|
+
|
|
107
|
+
Endpoint: POST /mfa/associate
|
|
108
|
+
|
|
109
|
+
Parameters:
|
|
110
|
+
- mfa_token: Association token
|
|
111
|
+
- otp: Verification code from new factor
|
|
112
|
+
|
|
113
|
+
### List Available Factors
|
|
114
|
+
|
|
115
|
+
Get configured MFA factors for tenant.
|
|
116
|
+
|
|
117
|
+
Endpoint: GET /api/v2/guardian/factors
|
|
118
|
+
|
|
119
|
+
Response includes:
|
|
120
|
+
- Factor type
|
|
121
|
+
- Enabled status
|
|
122
|
+
- Configuration details
|
|
123
|
+
|
|
124
|
+
## Factor-Specific APIs
|
|
125
|
+
|
|
126
|
+
### Guardian (Push)
|
|
127
|
+
|
|
128
|
+
Send push notification:
|
|
129
|
+
- Endpoint handles notification delivery
|
|
130
|
+
- Response includes challenge ID
|
|
131
|
+
- Poll or webhook for response
|
|
132
|
+
|
|
133
|
+
Guardian enrollment:
|
|
134
|
+
- Generate enrollment ticket
|
|
135
|
+
- Create QR code for app scanning
|
|
136
|
+
- Confirm via app acknowledgment
|
|
137
|
+
|
|
138
|
+
### SMS/Voice
|
|
139
|
+
|
|
140
|
+
Send verification code:
|
|
141
|
+
- Endpoint triggers message delivery
|
|
142
|
+
- Code valid for limited time
|
|
143
|
+
- Rate limiting applies
|
|
144
|
+
|
|
145
|
+
### TOTP
|
|
146
|
+
|
|
147
|
+
Generate secret:
|
|
148
|
+
- Create TOTP secret for enrollment
|
|
149
|
+
- Encode as QR code or manual entry
|
|
150
|
+
- Verify initial OTP to confirm
|
|
151
|
+
|
|
152
|
+
### WebAuthn
|
|
153
|
+
|
|
154
|
+
Create credential options:
|
|
155
|
+
- Generate challenge
|
|
156
|
+
- Define allowed authenticators
|
|
157
|
+
- Set user verification requirement
|
|
158
|
+
|
|
159
|
+
Verify credential:
|
|
160
|
+
- Validate authenticator assertion
|
|
161
|
+
- Confirm credential binding
|
|
162
|
+
- Store public key
|
|
163
|
+
|
|
164
|
+
## User Self-Service
|
|
165
|
+
|
|
166
|
+
### Enable User MFA Management
|
|
167
|
+
|
|
168
|
+
Allow users to manage their own MFA:
|
|
169
|
+
- View enrolled factors
|
|
170
|
+
- Add new factors
|
|
171
|
+
- Remove factors
|
|
172
|
+
- Generate recovery codes
|
|
173
|
+
|
|
174
|
+
### Implementation
|
|
175
|
+
|
|
176
|
+
User MFA Portal:
|
|
177
|
+
- Build custom UI or use Auth0 dashboard
|
|
178
|
+
- Call Management API with user token
|
|
179
|
+
- Implement proper authorization
|
|
180
|
+
- Audit user actions
|
|
181
|
+
|
|
182
|
+
## Administrative Operations
|
|
183
|
+
|
|
184
|
+
### Bulk MFA Reset
|
|
185
|
+
|
|
186
|
+
Reset MFA for multiple users:
|
|
187
|
+
- Export affected user list
|
|
188
|
+
- Iterate with Management API
|
|
189
|
+
- Log reset actions
|
|
190
|
+
- Communicate to users
|
|
191
|
+
|
|
192
|
+
### MFA Enforcement
|
|
193
|
+
|
|
194
|
+
Require MFA enrollment:
|
|
195
|
+
- Use Rules or Actions
|
|
196
|
+
- Check enrollment status
|
|
197
|
+
- Redirect to enrollment if missing
|
|
198
|
+
- Allow grace period if needed
|
|
199
|
+
|
|
200
|
+
### Audit MFA Events
|
|
201
|
+
|
|
202
|
+
Track MFA-related activities:
|
|
203
|
+
- Enrollment events
|
|
204
|
+
- Authentication events
|
|
205
|
+
- Reset events
|
|
206
|
+
- Failure events
|
|
207
|
+
|
|
208
|
+
## Error Handling
|
|
209
|
+
|
|
210
|
+
### Common Errors
|
|
211
|
+
|
|
212
|
+
mfa_required:
|
|
213
|
+
- User needs to complete MFA
|
|
214
|
+
- Provide mfa_token for challenge flow
|
|
215
|
+
- Redirect to MFA flow
|
|
216
|
+
|
|
217
|
+
invalid_otp:
|
|
218
|
+
- OTP verification failed
|
|
219
|
+
- May be expired or incorrect
|
|
220
|
+
- Allow retry with rate limiting
|
|
221
|
+
|
|
222
|
+
enrollment_not_found:
|
|
223
|
+
- Requested enrollment does not exist
|
|
224
|
+
- May be deleted or invalid ID
|
|
225
|
+
- Handle gracefully
|
|
226
|
+
|
|
227
|
+
rate_limited:
|
|
228
|
+
- Too many MFA attempts
|
|
229
|
+
- Implement backoff
|
|
230
|
+
- Inform user of wait time
|
|
231
|
+
|
|
232
|
+
### Error Response Handling
|
|
233
|
+
|
|
234
|
+
Implement proper error handling:
|
|
235
|
+
- Parse error codes
|
|
236
|
+
- Display user-friendly messages
|
|
237
|
+
- Log for debugging
|
|
238
|
+
- Alert on suspicious patterns
|
|
239
|
+
|
|
240
|
+
## Security Considerations
|
|
241
|
+
|
|
242
|
+
API Access:
|
|
243
|
+
- Use appropriate API permissions
|
|
244
|
+
- Implement rate limiting
|
|
245
|
+
- Audit API usage
|
|
246
|
+
- Rotate API credentials
|
|
247
|
+
|
|
248
|
+
Token Handling:
|
|
249
|
+
- MFA tokens are short-lived
|
|
250
|
+
- Do not log sensitive tokens
|
|
251
|
+
- Secure token storage
|
|
252
|
+
- Implement proper expiration
|
|
253
|
+
|
|
254
|
+
User Authorization:
|
|
255
|
+
- Verify user identity before MFA changes
|
|
256
|
+
- Require current authentication
|
|
257
|
+
- Log administrative actions
|
|
258
|
+
- Alert on suspicious changes
|
|
259
|
+
|
|
260
|
+
## Best Practices
|
|
261
|
+
|
|
262
|
+
Implementation:
|
|
263
|
+
- Use official SDKs when available
|
|
264
|
+
- Implement proper error handling
|
|
265
|
+
- Test all edge cases
|
|
266
|
+
- Monitor API usage
|
|
267
|
+
|
|
268
|
+
User Experience:
|
|
269
|
+
- Clear error messages
|
|
270
|
+
- Helpful enrollment guidance
|
|
271
|
+
- Fallback options available
|
|
272
|
+
- Support documentation
|
|
273
|
+
|
|
274
|
+
Security:
|
|
275
|
+
- Audit all MFA operations
|
|
276
|
+
- Alert on mass resets
|
|
277
|
+
- Monitor for abuse patterns
|
|
278
|
+
- Regular security review
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
# MFA Factors
|
|
2
|
+
|
|
3
|
+
Detailed reference for all Auth0 multi-factor authentication factors including configuration and implementation guidance.
|
|
4
|
+
|
|
5
|
+
## Independent Factors
|
|
6
|
+
|
|
7
|
+
### WebAuthn with Security Keys
|
|
8
|
+
|
|
9
|
+
Physical security keys providing phishing-resistant authentication.
|
|
10
|
+
|
|
11
|
+
Supported Standards:
|
|
12
|
+
- FIDO2
|
|
13
|
+
- WebAuthn
|
|
14
|
+
- U2F (backward compatibility)
|
|
15
|
+
|
|
16
|
+
Compatible Devices:
|
|
17
|
+
- YubiKey series
|
|
18
|
+
- Feitian keys
|
|
19
|
+
- Google Titan
|
|
20
|
+
- Other FIDO2-compliant keys
|
|
21
|
+
|
|
22
|
+
Configuration:
|
|
23
|
+
- Enable in MFA settings
|
|
24
|
+
- Optionally require PIN verification
|
|
25
|
+
- Configure user verification level
|
|
26
|
+
|
|
27
|
+
User Experience:
|
|
28
|
+
- Insert or tap security key
|
|
29
|
+
- Enter PIN if required
|
|
30
|
+
- Complete biometric if supported
|
|
31
|
+
|
|
32
|
+
### One-Time Password (TOTP)
|
|
33
|
+
|
|
34
|
+
Time-based codes generated by authenticator apps.
|
|
35
|
+
|
|
36
|
+
Compatible Applications:
|
|
37
|
+
- Google Authenticator
|
|
38
|
+
- Microsoft Authenticator
|
|
39
|
+
- Authy
|
|
40
|
+
- 1Password
|
|
41
|
+
- Any TOTP-compatible app
|
|
42
|
+
|
|
43
|
+
Configuration:
|
|
44
|
+
- Standard 6-digit codes
|
|
45
|
+
- 30-second refresh interval
|
|
46
|
+
- QR code or manual entry setup
|
|
47
|
+
|
|
48
|
+
User Experience:
|
|
49
|
+
- Scan QR code during enrollment
|
|
50
|
+
- Enter 6-digit code from app
|
|
51
|
+
- Code refreshes every 30 seconds
|
|
52
|
+
|
|
53
|
+
### Push Notifications (Guardian)
|
|
54
|
+
|
|
55
|
+
Mobile app notifications for one-tap authentication.
|
|
56
|
+
|
|
57
|
+
Requirements:
|
|
58
|
+
- Auth0 Guardian app or custom Guardian SDK app
|
|
59
|
+
- iOS or Android device
|
|
60
|
+
- Internet connectivity
|
|
61
|
+
|
|
62
|
+
Configuration:
|
|
63
|
+
- Enable Guardian factor
|
|
64
|
+
- Choose notification service (AWS SNS, FCM, APN)
|
|
65
|
+
- Configure application branding
|
|
66
|
+
|
|
67
|
+
User Experience:
|
|
68
|
+
- Receive push notification
|
|
69
|
+
- View transaction context
|
|
70
|
+
- Approve or deny with one tap
|
|
71
|
+
|
|
72
|
+
### Phone Message (SMS/Voice)
|
|
73
|
+
|
|
74
|
+
Verification codes delivered via SMS or voice call.
|
|
75
|
+
|
|
76
|
+
SMS Verification:
|
|
77
|
+
- 6-digit code via text message
|
|
78
|
+
- Works with any mobile phone
|
|
79
|
+
- Requires phone number verification
|
|
80
|
+
|
|
81
|
+
Voice Verification:
|
|
82
|
+
- Automated call with spoken code
|
|
83
|
+
- Fallback when SMS unavailable
|
|
84
|
+
- Accessibility consideration
|
|
85
|
+
|
|
86
|
+
Configuration:
|
|
87
|
+
- Enable Phone Message factor
|
|
88
|
+
- Configure SMS provider (Twilio, etc.)
|
|
89
|
+
- Set voice call as fallback
|
|
90
|
+
|
|
91
|
+
Limitations:
|
|
92
|
+
- SIM swapping vulnerability
|
|
93
|
+
- Delivery delays possible
|
|
94
|
+
- International coverage varies
|
|
95
|
+
|
|
96
|
+
### Cisco Duo Security
|
|
97
|
+
|
|
98
|
+
Integration with Cisco Duo platform.
|
|
99
|
+
|
|
100
|
+
Requirements:
|
|
101
|
+
- Existing Cisco Duo account
|
|
102
|
+
- Duo API credentials
|
|
103
|
+
- Enterprise plan recommended
|
|
104
|
+
|
|
105
|
+
Configuration:
|
|
106
|
+
- Configure Duo integration
|
|
107
|
+
- Set API credentials
|
|
108
|
+
- Map Duo policies
|
|
109
|
+
|
|
110
|
+
User Experience:
|
|
111
|
+
- Duo prompt appears
|
|
112
|
+
- Use Duo Push, call, or passcode
|
|
113
|
+
- Consistent with other Duo-protected apps
|
|
114
|
+
|
|
115
|
+
## Dependent Factors
|
|
116
|
+
|
|
117
|
+
### WebAuthn with Device Biometrics
|
|
118
|
+
|
|
119
|
+
Platform authenticators using built-in device biometrics.
|
|
120
|
+
|
|
121
|
+
Supported Platforms:
|
|
122
|
+
- Face ID (iOS)
|
|
123
|
+
- Touch ID (iOS/macOS)
|
|
124
|
+
- Windows Hello
|
|
125
|
+
- Android Fingerprint
|
|
126
|
+
|
|
127
|
+
Requirements:
|
|
128
|
+
- User verification capability
|
|
129
|
+
- Platform authenticator support
|
|
130
|
+
- Biometric enrollment on device
|
|
131
|
+
|
|
132
|
+
User Experience:
|
|
133
|
+
- Prompted for biometric
|
|
134
|
+
- Face scan or fingerprint
|
|
135
|
+
- Seamless verification
|
|
136
|
+
|
|
137
|
+
Note: Requires independent factor enrolled first.
|
|
138
|
+
|
|
139
|
+
### Email Verification
|
|
140
|
+
|
|
141
|
+
One-time codes delivered via email.
|
|
142
|
+
|
|
143
|
+
Configuration:
|
|
144
|
+
- Enable Email factor
|
|
145
|
+
- Configure email provider
|
|
146
|
+
- Customize email template
|
|
147
|
+
|
|
148
|
+
User Experience:
|
|
149
|
+
- Receive email with code
|
|
150
|
+
- Enter code in application
|
|
151
|
+
- Limited validity period
|
|
152
|
+
|
|
153
|
+
Use Cases:
|
|
154
|
+
- Backup factor
|
|
155
|
+
- Low-security scenarios
|
|
156
|
+
- Users without smartphones
|
|
157
|
+
|
|
158
|
+
### Recovery Codes
|
|
159
|
+
|
|
160
|
+
Pre-generated backup codes for emergency access.
|
|
161
|
+
|
|
162
|
+
Characteristics:
|
|
163
|
+
- Set of single-use codes
|
|
164
|
+
- Generated during enrollment
|
|
165
|
+
- User must store securely
|
|
166
|
+
|
|
167
|
+
Configuration:
|
|
168
|
+
- Enable Recovery Codes factor
|
|
169
|
+
- Configure code count (typically 10)
|
|
170
|
+
- Set regeneration policy
|
|
171
|
+
|
|
172
|
+
User Experience:
|
|
173
|
+
- Receive codes during enrollment
|
|
174
|
+
- Download or print codes
|
|
175
|
+
- Enter one code when needed
|
|
176
|
+
- Each code works once only
|
|
177
|
+
|
|
178
|
+
Best Practices:
|
|
179
|
+
- Encourage secure storage
|
|
180
|
+
- Remind users to regenerate after use
|
|
181
|
+
- Provide clear usage instructions
|
|
182
|
+
|
|
183
|
+
## Factor Selection Strategy
|
|
184
|
+
|
|
185
|
+
High Security Applications:
|
|
186
|
+
- WebAuthn security keys as primary
|
|
187
|
+
- TOTP as backup
|
|
188
|
+
- Recovery codes for emergency
|
|
189
|
+
|
|
190
|
+
Consumer Applications:
|
|
191
|
+
- Push notifications for convenience
|
|
192
|
+
- SMS as fallback
|
|
193
|
+
- Recovery codes optional
|
|
194
|
+
|
|
195
|
+
Enterprise Applications:
|
|
196
|
+
- Cisco Duo for unified security
|
|
197
|
+
- WebAuthn for phishing resistance
|
|
198
|
+
- TOTP for compatibility
|
|
199
|
+
|
|
200
|
+
Mobile-First Applications:
|
|
201
|
+
- Push notifications primary
|
|
202
|
+
- Device biometrics secondary
|
|
203
|
+
- SMS fallback
|
|
204
|
+
|
|
205
|
+
## Factor Comparison
|
|
206
|
+
|
|
207
|
+
Security Ranking (highest to lowest):
|
|
208
|
+
1. WebAuthn Security Keys
|
|
209
|
+
2. WebAuthn Device Biometrics
|
|
210
|
+
3. Push Notifications
|
|
211
|
+
4. TOTP
|
|
212
|
+
5. SMS/Voice
|
|
213
|
+
6. Email
|
|
214
|
+
|
|
215
|
+
Convenience Ranking (highest to lowest):
|
|
216
|
+
1. Device Biometrics
|
|
217
|
+
2. Push Notifications
|
|
218
|
+
3. Security Keys (with biometric)
|
|
219
|
+
4. TOTP
|
|
220
|
+
5. SMS
|
|
221
|
+
6. Email
|
|
222
|
+
|
|
223
|
+
Phishing Resistance:
|
|
224
|
+
- WebAuthn: High resistance
|
|
225
|
+
- Push with context: Moderate resistance
|
|
226
|
+
- TOTP/SMS/Email: No resistance
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Multi-Factor Authentication Overview
|
|
2
|
+
|
|
3
|
+
Auth0 Multi-Factor Authentication (MFA) is a user verification method requiring more than one type of validation, preventing unauthorized access even when credentials are compromised.
|
|
4
|
+
|
|
5
|
+
## Why Use MFA
|
|
6
|
+
|
|
7
|
+
MFA reduces cyber-attack likelihood by adding verification layers beyond passwords. Even if an attacker obtains a password, they cannot access the account without the additional factor(s).
|
|
8
|
+
|
|
9
|
+
## Supported MFA Factors
|
|
10
|
+
|
|
11
|
+
Auth0 supports multiple authentication methods categorized as independent and dependent factors.
|
|
12
|
+
|
|
13
|
+
### Independent Factors
|
|
14
|
+
|
|
15
|
+
At least one independent factor must be enabled. These can be used alone for MFA.
|
|
16
|
+
|
|
17
|
+
WebAuthn with FIDO Security Keys:
|
|
18
|
+
- Physical security keys (YubiKey, etc.)
|
|
19
|
+
- FIDO2/U2F standard compliance
|
|
20
|
+
- Phishing-resistant authentication
|
|
21
|
+
|
|
22
|
+
One-Time Password (OTP/TOTP):
|
|
23
|
+
- Time-based one-time passwords
|
|
24
|
+
- Compatible with authenticator apps
|
|
25
|
+
- Google Authenticator, Authy, etc.
|
|
26
|
+
|
|
27
|
+
Push Notifications (Auth0 Guardian):
|
|
28
|
+
- Mobile app push notifications
|
|
29
|
+
- One-tap approval/denial
|
|
30
|
+
- Rich notification with context
|
|
31
|
+
|
|
32
|
+
Phone Message:
|
|
33
|
+
- SMS verification codes
|
|
34
|
+
- Voice call verification
|
|
35
|
+
- Fallback for non-smartphone users
|
|
36
|
+
|
|
37
|
+
Cisco Duo Security:
|
|
38
|
+
- Enterprise Duo integration
|
|
39
|
+
- Existing Duo infrastructure support
|
|
40
|
+
- Unified security platform
|
|
41
|
+
|
|
42
|
+
### Dependent Factors
|
|
43
|
+
|
|
44
|
+
Require an independent factor to be configured first.
|
|
45
|
+
|
|
46
|
+
WebAuthn with Device Biometrics:
|
|
47
|
+
- Face ID, Touch ID, Windows Hello
|
|
48
|
+
- Device-bound authentication
|
|
49
|
+
- Convenient for enrolled devices
|
|
50
|
+
|
|
51
|
+
Email Verification:
|
|
52
|
+
- One-time codes via email
|
|
53
|
+
- Backup verification method
|
|
54
|
+
- Works across all devices
|
|
55
|
+
|
|
56
|
+
Recovery Codes:
|
|
57
|
+
- Pre-generated backup codes
|
|
58
|
+
- Use when primary factors unavailable
|
|
59
|
+
- One-time use per code
|
|
60
|
+
|
|
61
|
+
## MFA Policies
|
|
62
|
+
|
|
63
|
+
Configure when MFA is required.
|
|
64
|
+
|
|
65
|
+
Never:
|
|
66
|
+
- MFA not required
|
|
67
|
+
- Users can optionally enroll
|
|
68
|
+
- Lowest security, highest convenience
|
|
69
|
+
|
|
70
|
+
Always:
|
|
71
|
+
- MFA required for every login
|
|
72
|
+
- All users must complete MFA
|
|
73
|
+
- Highest security, more friction
|
|
74
|
+
|
|
75
|
+
Use Adaptive MFA (Enterprise):
|
|
76
|
+
- Risk-based MFA challenges
|
|
77
|
+
- Only challenges when risk detected
|
|
78
|
+
- Balance of security and convenience
|
|
79
|
+
|
|
80
|
+
## Configuration
|
|
81
|
+
|
|
82
|
+
### Dashboard Navigation
|
|
83
|
+
|
|
84
|
+
Access: Dashboard > Security > Multi-factor Auth
|
|
85
|
+
|
|
86
|
+
### Basic Setup
|
|
87
|
+
|
|
88
|
+
1. Navigate to MFA settings
|
|
89
|
+
2. Enable desired factors in Factors section
|
|
90
|
+
3. Select MFA policy
|
|
91
|
+
4. Configure additional settings
|
|
92
|
+
|
|
93
|
+
### Additional Settings
|
|
94
|
+
|
|
95
|
+
Show Multi-factor Authentication Options:
|
|
96
|
+
- Lets users select from enabled factors during enrollment
|
|
97
|
+
- Provides factor choice flexibility
|
|
98
|
+
|
|
99
|
+
Customize MFA Factors using Actions:
|
|
100
|
+
- Create personalized MFA flows via post-login Actions
|
|
101
|
+
- Implement custom logic for factor selection
|
|
102
|
+
- Challenge with specific factor sequences
|
|
103
|
+
|
|
104
|
+
### Factor Enrollment
|
|
105
|
+
|
|
106
|
+
User Enrollment Flow:
|
|
107
|
+
- First-time MFA triggers enrollment
|
|
108
|
+
- User selects from available factors
|
|
109
|
+
- Completes factor-specific setup
|
|
110
|
+
- Future logins use enrolled factor
|
|
111
|
+
|
|
112
|
+
Administrative Enrollment:
|
|
113
|
+
- Pre-enroll users via Management API
|
|
114
|
+
- Import existing MFA enrollments
|
|
115
|
+
- Bulk enrollment for organizations
|
|
116
|
+
|
|
117
|
+
## Implementation Approaches
|
|
118
|
+
|
|
119
|
+
### Universal Login MFA
|
|
120
|
+
|
|
121
|
+
Recommended approach using Auth0-hosted login:
|
|
122
|
+
- Automatic MFA integration
|
|
123
|
+
- Consistent user experience
|
|
124
|
+
- No custom UI development required
|
|
125
|
+
|
|
126
|
+
### Custom MFA with Actions
|
|
127
|
+
|
|
128
|
+
Use post-login Actions for custom logic:
|
|
129
|
+
- Conditional MFA based on user attributes
|
|
130
|
+
- Geographic or device-based challenges
|
|
131
|
+
- Custom factor sequencing
|
|
132
|
+
- Integration with external risk systems
|
|
133
|
+
|
|
134
|
+
### Embedded MFA
|
|
135
|
+
|
|
136
|
+
For custom applications:
|
|
137
|
+
- Auth0.js SDK integration
|
|
138
|
+
- Custom UI implementation
|
|
139
|
+
- Direct API calls for MFA operations
|
|
140
|
+
|
|
141
|
+
## Plan Requirements
|
|
142
|
+
|
|
143
|
+
Professional Plan:
|
|
144
|
+
- Standard MFA factors
|
|
145
|
+
- Basic policy configuration
|
|
146
|
+
|
|
147
|
+
Enterprise Plan:
|
|
148
|
+
- All MFA factors
|
|
149
|
+
- Adaptive MFA
|
|
150
|
+
- Guardian customization
|
|
151
|
+
- Advanced Actions support
|
|
152
|
+
|
|
153
|
+
## Best Practices
|
|
154
|
+
|
|
155
|
+
Factor Selection:
|
|
156
|
+
- Enable multiple factors for user choice
|
|
157
|
+
- Provide recovery codes as backup
|
|
158
|
+
- Consider user device capabilities
|
|
159
|
+
|
|
160
|
+
User Experience:
|
|
161
|
+
- Clear enrollment instructions
|
|
162
|
+
- Factor-specific guidance
|
|
163
|
+
- Fallback options when factors fail
|
|
164
|
+
|
|
165
|
+
Security Balance:
|
|
166
|
+
- Use Adaptive MFA when possible
|
|
167
|
+
- Avoid MFA fatigue with smart policies
|
|
168
|
+
- Regularly audit enrolled factors
|
|
169
|
+
|
|
170
|
+
Deployment:
|
|
171
|
+
- Pilot with subset of users
|
|
172
|
+
- Gradual rollout with communication
|
|
173
|
+
- Monitor enrollment and success rates
|
|
174
|
+
- Provide support resources
|