keycloak - 仅向特定用户提供 Keycloak 中的“忘记密码”功能
问题描述
我们在门户中使用 Keycloak 12 进行身份验证,并且有两种不同类型的用户:
- 内部用户(从我们的内部 LDAP 读取)
- 外部用户(存储在 Keycloak 中但未与 LDAP 同步)
我们现在想使用 Keycloak 提供的“忘记密码”功能。在配置了功能和邮件服务器后,它可以开箱即用。
但是,我们希望将“忘记密码”功能限制为属于 (2) 的所有用户,即内部用户。不允许这些用户通过 Keycloak 更新他们的密码,因为这是通过另一种机制完成的。
如果可能的话,到目前为止我在文档中找不到任何信息?
解决方案
Keycloak Forgot Password功能适用于领域级别,因此适用于属于该领域的所有用户。对于 Keycloak,LDAP 只是一个用于验证用户的外部存储。因此,开箱即用,没有办法(据我所知)Forgot Password
只对领域内的某些用户启用。
即使有可能,IMO 也不是一个非常用户友好的功能,因为当激活此类功能时,将在登录页面上向用户显示一个新链接,以防用户忘记密码。因此,如果来自 LDAP 的用户单击它,它会显示错误或什么?!
或者,您可以在另一个领域中配置所谓的内部用户Forgot Password
的 LDAP,而不是启用的领域。然后将新创建的领域配置为外部身份提供者,用户可以对其进行显式身份验证。所以在实践中,用户会在正常登录页面中借出,外部用户可以正常登录,并且会Forgot Password
启用该选项。内部用户将显式单击外部 IDP 以进行身份验证。使用外部 IDP 登录将是与登录到正常登录页面类似的用户体验,但是Forgot Password
不会显示该选项。
您可以在此处查看此类配置的示例。
推荐阅读
- python - 将单个数据框列中的不同比例与单个箱线图进行比较
- python - Python 陷入 If 但返回不工作
- python - 使用 Python PIL 时优化保存时间
- c++ - (C++) 当我被教导分离声明和实现时,为什么我看到一些程序员用类来做这件事?
- c - 函数指针,其签名包含一个参数,该参数的类型是指向与第一个函数指针相同类型的指针
- bash - 如何在 bash 脚本中使用 for 循环在不同文件中添加变量文本
- ios - 在 iPhone 12 的 UIImagePickerController 中获取相机预览位置
- hl7-fhir - C#中$docref操作的使用
- python - Visual Studio Code - 为多种语言设置
- python - Flask-Admin 内联可编辑列表下拉菜单被压扁(看不到菜单项)