如何在Keycloak中实现用户注册时自主选择是否开通OTP类型MFA
Keycloak注册环节实现用户自主选择OTP MFA的实现方案
通过原生控制台配置即可实现需求,无需二次开发,具体操作步骤如下:
- 复制默认注册流程
进入Keycloak管理控制台的Authentication→Flows页面,找到系统默认的Registration流程,点击右上角「Duplicate」按钮复制为自定义流程,可命名为Registration with optional OTP MFA。 - 新增可选OTP配置节点
进入刚刚创建的自定义注册流程编辑页,在流程末尾添加Execution,类型选择OTP Form,将该节点的Requirement属性设置为Optional。可根据业务需要自定义该节点的前端提示文案,引导用户自主选择是否开启MFA,选择跳过的用户可直接完成注册,选择开启的用户会进入Google Authenticator绑定流程。 - 关闭全局强制MFA配置
进入Authentication→Required Actions页面,取消Configure OTP选项的Default Action勾选,避免全局强制所有新用户首次登录必须配置MFA。 - 绑定自定义流程生效
进入Realm Settings→Login页面,将Registration flow选项切换为刚刚创建的自定义注册流程,保存后配置即可生效。
补充优化:如果需要支持用户登录后自主修改MFA状态,只需在
Realm Settings→User Profile配置页中,将OTP相关属性设置为用户可编辑即可,用户可随时在个人账号管理中心开启或关闭MFA。
若需要针对特定用户群体才展示MFA选择入口,可在OTP Form节点上添加条件执行规则,按照用户属性、用户组等维度控制节点是否展示。
内容的提问来源于stack exchange,提问作者David Gomes
相关产品推荐
相关产品推荐

