Keycloak - 限制每个客户端/应用程序的用户访问权限

问题描述 投票:3回答:1

我刚刚设置了我的第一台Keycloak服务器,在两个应用程序之间提供SSO。这些不是Java应用程序,一个与SAML-2连接,另一个与OpenID Connect连接。

所以在Keycloak我有Realm-1,然后Client-1application1)和Client-2application2)和user-1user-2

现在我希望user-1只允许访问Client-1,并且user-2允许访问Client-1Client-2。应该够简单。

我试图阅读角色和授权,但我发现文档(或者可能只是主题)非常令人困惑。我一直在玩弄它没有成功。我期待一个接口只是将一个组映射到一个客户端,并通过添加/删除组中的用户来限制对客户端的访问。

single-sign-on openid-connect keycloak
1个回答
2
投票

如果您使用的是SAML:

  1. 在Keycloak中创建一个新角色。
  2. 将此角色分配给该组。
  3. 在Keycloak中创建新的身份验证脚本。配置登录时允许的角色(例如user.hasRole(realm.getRole("yourRoleName")))。
  4. 在客户端设置中,在“Authentication Flow overrides”下,选择创建的身份验证(从步骤3开始)。

如果你使用openid,look at the comment in this thread

© www.soinside.com 2019 - 2024. All rights reserved.