【发布时间】:2021-09-30 11:14:55
【问题描述】:
我目前正在研究 OIDC 和 KeyCloak,但我并不真正了解访问令牌的性质。我创建了两个客户端(authz-test 和 app_authz_2)并为访问资源的用户分配了不同的角色,然后我在 app_authz_2 上进行了身份验证并请求授权,但我可以看到 resource_access 声明还包括 authz-test 的角色。
"resource_access": {
"authz-test": {
"roles": [
"watcher_role"
]
},
"app_2_authz": {
"roles": [
"app_2_role"
]
},
"account": {
"roles": [
"manage-account",
"manage-account-links",
"view-profile"
]
}
},
这个resource_access 声明就是我所说的。我担心访问令牌最终会因资源访问声明而膨胀,所以我想问是否可能,以及不包括不同资源服务器的 resource_access 声明是否是一种好习惯。
【问题讨论】:
-
我猜使用的 OIDC 客户端启用了
Full Scope Allowed,所以你可以看到所有资源。
标签: security oauth keycloak openid-connect