spring-boot - Jhipster 和 Keycloak,客户端角色未通过 Feign 调用传递
问题描述
我正在使用 Keycloak 9 和多个 Jhipster 6.7.1 实例。
- 编排微服务在 Keycloak 中使用“机密”访问类型,并成功生成并验证了令牌。
- 必须映射编排客户端中的角色设置,使用“用户客户端角色”和“角色”作为令牌声明名称,以便 @PreAuthorize 工作。如果我尝试传递组,出于某种原因,Jhipster 会忽略角色,只返回导致 @PreAuthorize 失败的组值。
- 其他微服务在 Keycloak 中使用“brearer”访问类型。为了授权微服务而设置的任何编排角色都被完全忽略,因此编排和微服务之间的授权检查失败并拒绝访问。
- 编排和其他微服务之间的通信由@AuthorizedFeignClient 处理
我想知道我在这里做错了什么,编排客户端角色没有被传递到相应的微服务,还有一种方法可以以嵌套方式映射组和角色,因此它符合现有的 Jhipster 代码而不需要更改。
解决方案
推荐阅读
- php - Symfony 控制器代码
- powershell - 使用带有输入验证和 TRAP 的读取主机
- javascript - Spring 控制器返回文件(适用于 csv,不适用于图像类型或 zip)
- firebase - Firebase 云消息传递无法在 Mozilla firefox 隐身模式下运行
- elasticsearch - 范围或缺失 - ElasticSearch - 查询 DSL
- python-3.x - 循环遍历文件名列表时如何对多个图像进行 blit?
- sql - 每当其中一个步骤失败时,是否可以为 SQL 作业而不是其步骤组件安排重试?
- ruby-on-rails - Ruby on Rails:如何为请求标头创建带引号的字符串?
- json - Spark 2.0 (not 2.1) Dataset[Row] or Dataframe - 选择几列到 JSON
- database - 将参数值发送到 DataSetProvider