允许用户选择加入 MFA

Posted

技术标签:

【中文标题】允许用户选择加入 MFA【英文标题】:Allow user to opt in to MFA 【发布时间】:2022-01-03 07:26:43 【问题描述】:

我已经能够利用 Keycloak 在“身份验证”中的“默认操作”部分强制新用户通过 Google Authenticator 设置 MFA。

但是,我只能为所有用户设置此必需,甚至无法启用。我正在寻找一种方法,允许用户在注册期间通过 OTP选择加入 MFA。

【问题讨论】:

用户可以随时在账户控制台配置OTP。如果您想添加可选的 OTP 选择加入,您将需要更改/扩展注册流程。 所以基本上,你想让它成为可选的,并很好地询问用户是否想使用它? @Menelaos 完全正确 【参考方案1】:

没有开箱即用的默认选项来实现此身份验证流程。

您可以创建自定义身份验证流程,其中包含要求用户执行 MFA 的步骤。

这可以使用 javascript 身份验证器 (https://www.keycloak.org/docs/latest/server_development/#_script_providers) 或 java 服务提供者接口来实现。 https://www.keycloak.org/docs/latest/server_development/#_auth_spi

【讨论】:

【参考方案2】:

我认为您需要使用身份验证 API,特别是用于扩展注册页面/表单的 API。

见:https://www.keycloak.org/docs/latest/server_development/#modifying-extending-the-registration-form

今晚我会试一试,并更新我的答案。

【讨论】:

以上是关于允许用户选择加入 MFA的主要内容,如果未能解决你的问题,请参考以下文章

Webauthn - 添加第二个 MFA 设备

powershell 将用户从每用户MFA转换为基于条件访问的MFA

AWS Cognito - 重置用户 MFA

AWS IAM 策略:要求用户自己预置 MFA

AWS 账户MFA启用流程

sh 检查Jumpcloud用户是否为MFA