可以访问Keycloak 7.x中的用户资源,策略和权限

时间:2019-10-06 17:17:40

标签: keycloak

我正在评估将在我们的应用程序中使用的Keycloak 7.X,它由大约十二个微服务(Spring Boot)和四个Angular 6.x应用程序组成。我计划对Angular应用程序以及Spring Boot使用Keycloak适配器,而不对SpringBoot使用OAuth 2.0。我的概念证明必须证明以下用例。

(1)单点登录。 (2)基于角色的访问控制 (3)政策和权限-例如具有“主管”角色的用户应该能够访问组织中所有员工的薪水。但是,他/她只能给在主管相同位置工作的那些雇员加薪。换句话说,将有一个与每个用户相关联的属性“位置”。即使用户的角色是“主管”,权限也必须考虑“位置”属性以确定对资源的访问。

我打算使用JWT。 JWT将包含许可权列表,单个微服务将使用“位置”和“权限”的组合来确定。

不幸的是,我无法在Keycloak中配置客户端以分配策略和权限,也无法在Internet上找到任何示例。

1 个答案:

答案 0 :(得分:0)

要使用策略和权限,您的应用程序应实现User-Manager Access 2.0 protocol。阅读User-Managed Access文档页面以获取示例流程。

  

我打算使用JWT。 JWT将包含许可权列表,单个微服务将使用“位置”和“权限”的组合来确定。

如果访问定义背后的逻辑位于微服务中,则您不需要策略和权限。您只需在Keycloak一侧定义角色(例如主管)和属性(例如位置),然后将其设置为包含在访问令牌(JWT)中即可。