为啥我看不到 Keycloak 发出的 JWT 中的组?

Posted

技术标签:

【中文标题】为啥我看不到 Keycloak 发出的 JWT 中的组?【英文标题】:Why I can't see the groups in my JWT issued from Keycloak?为什么我看不到 Keycloak 发出的 JWT 中的组? 【发布时间】:2021-10-05 06:49:18 【问题描述】:

在我的 Keycloak 客户端配置中,我启用了组映射:

在我的 Spring Boot 应用程序中,我有一个控制器可以打印 principal:

@GetMapping("/account/me")
public ResponseEntity<Principal> me(Principal principal) 

    return ResponseEntity.ok(principal);

但它不包含我在 Keycloak 中定义的组。

正如提到的here 应该有一个额外的部分other_claims。但是没有添加!

为什么?

【问题讨论】:

注意角色 != 组。您是否将您的组映射到领域角色,或者您打算使用组映射器而不是角色映射器? 【参考方案1】:

您的屏幕截图表明您正在使用User Realm Role 映射器。如果要映射组,则需要使用 Group Membership 映射器。

【讨论】:

以上是关于为啥我看不到 Keycloak 发出的 JWT 中的组?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Keycloak 使用 Session-Cookie 而不是 JWT Authorization Header

Spring Keycloak jwt map Create At Date to Token

在 Spring Boot 中从 jwt 获取附加属性

如何使用 Keycloak 解码 JWT

为啥带有 Netflix Zuul 反向代理的 Keycloak OAUTH2 不传递令牌

keycloak 客户端协议映射器(脚本映射器)将请求标头添加到令牌中