首页 > 解决方案 > Jhipster 和 Keycloak,客户端角色未通过 Feign 调用传递

问题描述

我正在使用 Keycloak 9 和多个 Jhipster 6.7.1 实例。

  1. 编排微服务在 Keycloak 中使用“机密”访问类型,并成功生成并验证了令牌。
  2. 必须映射编排客户端中的角色设置,使用“用户客户端角色”和“角色”作为令牌声明名称,以便 @PreAuthorize 工作。如果我尝试传递组,出于某种原因,Jhipster 会忽略角色,只返回导致 @PreAuthorize 失败的组值。
  3. 其他微服务在 Keycloak 中使用“brearer”访问类型。为了授权微服务而设置的任何编排角色都被完全忽略,因此编排和微服务之间的授权检查失败并拒绝访问。
  4. 编排和其他微服务之间的通信由@AuthorizedFeignClient 处理

我想知道我在这里做错了什么,编排客户端角色没有被传递到相应的微服务,还有一种方法可以以嵌套方式映射组和角色,因此它符合现有的 Jhipster 代码而不需要更改。

标签: spring-bootmicroservicesjhipsterkeycloak

解决方案


推荐阅读