仅向某些用户提供Keycloak中的“忘记密码”功能

问题描述 投票:0回答:2

我们在门户中使用 Keycloak 12 进行身份验证,有两种不同类型的用户:

  1. 内部用户(从我们的内部 LDAP 读取)
  2. 外部用户(存储在Keycloak中,但不与LDAP同步)

我们现在想使用Keycloak提供的“忘记密码”功能。配置该功能和邮件服务器后,开箱即用。

但是,我们希望将“忘记密码”功能限制为属于 (2) 的所有用户,即内部用户。这些用户不允许通过 Keycloak 更新密码,因为这是通过另一种机制完成的。

到目前为止,我在文档中找不到任何信息,这是否可能?

keycloak keycloak-services
2个回答
2
投票

Keycloak 忘记密码功能应用于领域级别,因此适用于属于该领域的所有用户。对于 Keycloak 来说,LDAP 只是一个外部存储,可供用户进行身份验证。因此,据我所知,开箱即用的

Forgot Password
无法仅对领域内的某些用户启用。

即使在我看来这是可能的,它也不会是一个非常用户友好的功能,因为当用户激活此类功能时,将在登录页面上向用户显示一个新链接,以防用户忘记密码。因此,如果 LDAP 中的用户单击它,它会显示错误或其他内容?!

或者,您可以在另一个领域中配置所谓的“内部用户”的 LDAP,而不是启用 Forgot Password 的领域。然后将新创建的领域配置为外部

Identity Provider
,用户可以对其进行显式身份验证。所以实际中,用户会在正常登录页面借出,外部用户可以正常登录,并且会启用Forgot Password选项。
内部用户
将明确单击外部 IDP 来验证自己的身份。使用外部 IDP 登录的用户体验与登录普通登录页面类似,但是,不会显示 Forgot Password 选项。
您可以在

此处

查看此类配置的示例。


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.