我刚刚设置了我的第一台Keycloak服务器,在两个应用程序之间提供SSO。这些不是Java应用程序,一个与SAML-2
连接,另一个与OpenID
Connect连接。
所以在Keycloak我有Realm-1
,然后Client-1
(application1
)和Client-2
(application2
)和user-1
和user-2
。
现在我希望user-1
只允许访问Client-1
,并且user-2
允许访问Client-1
和Client-2
。应该够简单。
我试图阅读角色和授权,但我发现文档(或者可能只是主题)非常令人困惑。我一直在玩弄它没有成功。我期待一个接口只是将一个组映射到一个客户端,并通过添加/删除组中的用户来限制对客户端的访问。
如果您使用的是SAML:
user.hasRole(realm.getRole("yourRoleName"))
)。如果你使用openid,look at the comment in this thread