我希望Keycloak(2.3.0.Final)在ID令牌中包含与用户关联的权限。我试图创建一个mapper来映射所有权限,但不幸的是,没有选项可以添加这种功能。
有人知道怎么做吗?
答案 0 :(得分:2)
感谢朋友,我解决了这个问题!
问题是,我想检索有关属于特定客户端的授权的信息。在当前版本的Keycloak(2.3.0.Final)中,您无法通过令牌检索权限,这是完全合理的。
所以你有2个选择:第一个使用permission ticket,另一个使用Entitlement API。
所以,我正在使用第二种选择:
curl -X GET \
-H "Authorization: Bearer ${access_token}" \
"http://localhost:8080/auth/realms/${realm_name}/authz/entitlement/${resource_server_id}"
realm_name ,是添加到域中的名称(在url中显示), resource_server_id 是在客户端设置中选择的client_id。
此外,第一个替代方案将与permission ticket:
一起使用curl -X POST
-H "Authorization: Bearer ${AAT}" -d '{
"ticket" : ${PERMISSION_TICKET}
}' "http://localhost:8080/auth/realms/${realm_name}/authz/authorize"
以下是解决此问题的一些有用链接: