使用 Keycloak Mapper 将授权权限包含到我的令牌中
Include Authorization Permissions to my token using Keycloak Mapper
我希望 Keycloak (2.3.0.Final) 在 ID 令牌中包含与用户关联的权限。我试图创建一个映射器来映射所有权限,但不幸的是,没有添加这种功能的选项。
有人知道怎么做吗?
感谢朋友,我解决了!
问题是,我想检索有关属于特定客户端的授权信息。在当前版本的 Keycloak (2.3.0.Final) 中,您无法通过令牌检索权限,这是完全合理的。
所以你有 2 个选择:第一个是使用 permission ticket,另一个是使用权利 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"
这里有一些有用的链接可以解决这个问题:
我希望 Keycloak (2.3.0.Final) 在 ID 令牌中包含与用户关联的权限。我试图创建一个映射器来映射所有权限,但不幸的是,没有添加这种功能的选项。
有人知道怎么做吗?
感谢朋友,我解决了!
问题是,我想检索有关属于特定客户端的授权信息。在当前版本的 Keycloak (2.3.0.Final) 中,您无法通过令牌检索权限,这是完全合理的。
所以你有 2 个选择:第一个是使用 permission ticket,另一个是使用权利 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"
这里有一些有用的链接可以解决这个问题: