我们在门户中使用 Keycloak 12 进行身份验证,有两种不同类型的用户:
我们现在想使用Keycloak提供的“忘记密码”功能。配置该功能和邮件服务器后,开箱即用。
但是,我们希望将“忘记密码”功能限制为属于 (2) 的所有用户,即内部用户。这些用户不允许通过 Keycloak 更新密码,因为这是通过另一种机制完成的。
到目前为止,我在文档中找不到任何信息,这是否可能?
Keycloak 忘记密码功能应用于领域级别,因此适用于属于该领域的所有用户。对于 Keycloak 来说,LDAP 只是一个外部存储,可供用户进行身份验证。因此,据我所知,开箱即用的
Forgot Password
无法仅对领域内的某些用户启用。
即使在我看来这是可能的,它也不会是一个非常用户友好的功能,因为当用户激活此类功能时,将在登录页面上向用户显示一个新链接,以防用户忘记密码。因此,如果 LDAP 中的用户单击它,它会显示错误或其他内容?!
或者,您可以在另一个领域中配置所谓的“内部用户”的 LDAP,而不是启用 Forgot Password
的领域。然后将新创建的领域配置为外部
Identity Provider,用户可以对其进行显式身份验证。所以实际中,用户会在正常登录页面借出,外部用户可以正常登录,并且会启用
Forgot Password
选项。 内部用户将明确单击外部 IDP 来验证自己的身份。使用外部 IDP 登录的用户体验与登录普通登录页面类似,但是,不会显示
Forgot Password
选项。您可以在此处