使用 keycloak 作为身份验证服务或 IDP?

Use keycloak as auth service or IDP?

所以,我正在研究以了解在我工作的环境中实施 keycloak 是否是一个好的替代方案。 我正在使用 LDAP 来管理我工作场所的用户。我想知道是否有办法在所有即将推出的系统和一些现有系统中使用 keycloak 作为 auth 服务。我们目前正在使用我们需要改进或更换的 IDP 来管理它,也有一些系统使用他们自己的登录(这最终会改变)。 我遇到的主要问题是 keycloak 与 ldap 同步,我不希望用户数据存储在 keycloak 上,也许如果它只是登录数据。用户数据计划仅保存在 ldap 的数据库中,以防需要更新任何用户数据。

那么有没有一种方法可以将 keycloak 仅用作身份验证服务,在每次身份验证请求时从 ldap 获取用户凭据?

pd:也许我对什么是身份验证服务和什么是 IDP 的含义有误。

其实LDAP用户没有必要同步到Keycloak。 Keycloak 支持这两个选项

  • 将用户从 LDAP 导入并选择性地同步到 Keycloak

  • 始终直接从 LDAP 获取用户信息。

但是 keycloak 总是会在它的数据库中生成一些基本的联合用户(例如,在使用 OpenID Connect 时保持会话——但你不应该真正关心那个)。

据我所知(但我自己没用过)你也可以使用 keycloak 来维护 LDAP 用户数据并将更改写回 LDAP(请参阅 Keycloak 文档中的 "Edit Mode")

查看有关 LDAP 内容的 Keycloak 文档以获取更多信息https://www.keycloak.org/docs/6.0/server_admin/#_ldap

除了用户数据主题,Keycloak 还提供了许多不同的协议(如 SAML 和 OpenIDConnect)来为您的服务提供身份验证。因此,您可以使用 different/multiple 身份验证协议,具体取决于您的应用程序,只需一个 "LDAP-Backend"