我正在尝试将keycloak作为我公司的SSO实施。我创建了两个领域,领域A和领域B.我想为这两个领域使用相同的用户组,即我需要为这两个领域的用户提供访问权限。是否可以在Keycloak中执行此操作?
答案 0 :(得分:7)
不,这是不可能的。用户总是特定于领域。唯一的方法是将用户保留在外部存储中,并通过联合( UserStorageSpi )将此外部存储集成到这两个域中。但是,您必须在外部商店进行所有用户管理,因为它是您的用户数据的主要来源。
答案 1 :(得分:3)
同意accepted answer,这是不可能的。
您可以将领域视为“用户池”-用户应该属于一个或另一个(身份),除非它们确实被视为两个单独的身份。
然后,您可以创建用于客户端连接的第三个领域,因此该应用程序仅需与单个身份验证服务器集成。然后,该第三个领域可以通过Keycloak OpenID Connect联合到其他两个领域。
使用此方法,您还可以根据联合的位置来提供组/角色/权限。然后,任何一个领域的每个人都可以访问与此领域集成的客户端-可能需要进一步的RBAC增强才能确定真正的访问权限。