You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keycloak无需导入联邦用户到数据库即可启用OTP的方法问询

Keycloak LDAP联合用户免导入启用OTP认证方案

完全可以实现,Keycloak原生支持未导入本地库的LDAP/AD联合用户使用OTP认证,无需修改LDAP侧原有数据结构,操作步骤如下:


前置检查

先确认LDAP用户联邦的基础配置符合要求:
进入对应Realm的「用户联邦」菜单,点开已配置的LDAP/AD提供方,确认参数:

  • 导入用户开关保持关闭状态
  • 编辑模式按需选择即可,只读模式也完全兼容OTP功能
  • 先测试LDAP连接、用户查询正常,确认联合用户可正常通过LDAP密码完成基础登录

操作步骤

  • 第一步:自定义带OTP的认证流
    进入「认证」-「流」菜单,找到默认的浏览器认证流,点击右侧「复制」按钮新建自定义流,命名例如LDAP联合用户OTP认证流
    进入新建的自定义流,在用户名密码表单执行项后新增执行项,选择OTP表单,将OTP表单的要求设置为REQUIRED
    无需调整其他默认执行项,Keycloak会自动识别登录用户类型,OTP配置会关联到用户的联邦身份标识,不会写入Keycloak本地用户主表

  • 第二步:调整OTP全局策略(可选)
    进入「认证」-「OTP策略」菜单,可按需调整OTP类型(TOTP/HOTP)、有效期、加密算法、二维码展示规则,配置对本地用户和联合用户统一生效

  • 第三步:绑定认证流到对应客户端
    进入需要开启该规则的客户端「高级」设置页,找到「认证流覆盖」选项,将「浏览器流」选择为刚才新建的自定义流,保存即可


补充说明

联合用户的OTP密钥默认存储在Keycloak的FEDERATED_USER关联表中,不会写入Keycloak本地用户主表,也不会反向同步到LDAP/AD服务器,完全不影响原有外部身份源的数据

  • 用户首次登录时会自动跳转到OTP绑定页面,扫描二维码完成绑定后即可正常使用双因子认证
  • 如果需要批量为联合用户导入预置的OTP密钥,可调用Keycloak Admin REST API的{realm}/users/{userId}/credentials接口,传入用户的联邦用户ID和OTP密钥参数即可

内容的提问来源于stack exchange,提问作者mohamed.Yassine.SOUBKI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 23:12:01