【问题标题】:Provide "Forgot Password" feature in Keycloak to certain users only仅向某些用户提供 Keycloak 中的“忘记密码”功能
【发布时间】:2021-04-18 20:47:50
【问题描述】:

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

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

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

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

如果可能的话,到目前为止我在文档中找不到任何信息?

【问题讨论】:

    标签: keycloak keycloak-services


    【解决方案1】:

    Keycloak Forgot Password 功能应用于 Realm 级别,因此应用于属于该 Realm 的所有用户。对于 Keycloak,LDAP 只是一个用于验证用户的外部存储。因此,开箱即用,没有办法(据我所知)Forgot Password 仅对领域内的某些用户启用。

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

    或者,您可以在另一个领域中配置所谓的 内部用户 的 LDAP,而不是启用 Forgot Password 的领域。然后将新创建的领域配置为外部Identity Provider,用户可以对其进行显式身份验证。所以在实践中,用户会在正常登录页面中借出,外部用户可以正常登录,并且会启用Forgot Password 选项。 内部用户 会显式单击外部 IDP 来验证自己的身份。使用外部 IDP 登录与登录普通登录页面的用户体验相似,但不会显示 Forgot Password 选项。

    您可以看到这样的配置示例here

    【讨论】:

      猜你喜欢
      • 2013-12-09
      • 2011-10-19
      • 2011-09-28
      • 1970-01-01
      • 2017-07-06
      • 2012-02-22
      • 2013-12-01
      • 2013-10-12
      • 2018-06-07
      相关资源
      最近更新 更多