何时在Keycloak中使用Realm角色?

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

我正在尝试在微服务和前端(Keycloak术语中的keycloak-clients)之间进行角色映射。

假设我有两个密钥隐藏客户端:

  • routemanagement-api
  • routemanagement-webapp

在routemanagement-api中,我定义了一些角色,让我们说一个角色:regular-user。此角色是not复合角色。

在routemanagement-webapp中,我定义了另一个角色,也称为常规用户。这是一个复合角色。我将其与routemanagement-api中的“常规角色”用户关联。然后,我创建一个用户。假设该用户通过routemanagement-webapp注册。因此,我的注册逻辑将为该新创建的用户分配“ routemanagement-webapp:regular-user”角色。

由于“ routemanagement-webapp:regular-user”与“ routemanagement-api:regular-user”角色相关联,因此将成功调用routemanagement-api REST端点。

[您知道,我不需要领域(上级)角色来实现这一目标。我可以直接从一个客户端跳到另一个客户端。我会说我的方法是自上而下的。顶部的前端应用程序,底部的api。我正在考虑为供应用户使用单独的webapp。用户将被授予她被允许使用的“ webapps”的角色。这些组合角色技巧在密钥斗篷UI中处理了使用关联的api的正确权限。

您如何看待这种方法?这是正确的思维方式吗?我们需要领域角色做什么?

我正在尝试在微服务和前端(Keycloak术语中的keycloak-clients)之间进行角色映射。假设我有两个密钥访问客户端:routemanagement-api routemanagement-webapp ...

keycloak roles
1个回答
0
投票
我建议您可能不需要复合角色。在我看来,api拥有资源,因此您应该将客户端角色设计为api,将api客户端设计为资源所有者。该角色可以命名为“动词资源”,例如“创建x,读取x,更新x,删除x”。
© www.soinside.com 2019 - 2024. All rights reserved.