【发布时间】:2021-11-08 19:53:21
【问题描述】:
我正在使用 Keycloak 14.0.0 并启用了 token_exchange 的功能预览以进行模拟。在 Keycloak 中将我的用户配置为在客户端“领域管理”上扮演模拟角色后(根据 [文档][1]),进行令牌交换的实际请求失败,因为令牌无效。
经过一些调试,发现 jwt 令牌确实格式错误:
...
"session_state": "a03aeg0e-b5ce-4a50-9038-c339e50338c4",
"acr": "1",
"allowed-origins": [
"http://0.0.0.0:9180"
],
"scope": "openid identity_provider email admin profile company",
"permissions": [
"consented-readonly",
"readonly",
"trackingdisabled"
],
"resource_access": {
".roles": [
"impersonation"
]
},
"email_verified": false,
"idp": "myidp",
...
在上面,请注意“.roles”。我认为这是不正确的。它应该是这样的:
"resource_access": {
"myclient": {
"roles": [
"impersonation"
]
}
如何解决这个问题? [1]:https://www.keycloak.org/docs/latest/securing_apps/index.html#impersonation
【问题讨论】:
标签: jwt keycloak access-token impersonation