Permissions KeyClope将权限与角色一起包含到访问令牌中

Permissions KeyClope将权限与角色一起包含到访问令牌中,permissions,authorization,token,keycloak,entitlements,Permissions,Authorization,Token,Keycloak,Entitlements,我一直在使用keydape设置授权,并根据资源和权限设置了特定的角色和权限,但JWT访问令牌只包含角色的详细信息,而不包含分配给用户的权限 我希望访问令牌包含权限详细信息,并已在KeyClope文档上尝试了以下方法: 1) 使用权限票证无法使用生成票证 http://${host}:${port}/auth/realms/${realm_name}/authz/protection/permission 它表明: { "error": "invalid_bearer_token",

我一直在使用keydape设置授权,并根据资源和权限设置了特定的角色和权限,但JWT访问令牌只包含角色的详细信息,而不包含分配给用户的权限

我希望访问令牌包含权限详细信息,并已在KeyClope文档上尝试了以下方法: 1) 使用权限票证无法使用生成票证

http://${host}:${port}/auth/realms/${realm_name}/authz/protection/permission
它表明:

{
    "error": "invalid_bearer_token",
    "error_description": "Could not obtain bearer access_token from request."
}
因此无法生成RPT并获取权限的详细信息

还尝试使用授权API

2) 使用授权API:

 curl -X GET \
     -H "Authorization: Bearer ${access_token}" \
     "http://localhost:8080/auth/realms/hello-world-authz/authz/entitlement/${resource_server_id}"
我试着用邮递员,结果显示404找不到


任何人都可以向我展示将权限包含在访问令牌中或正确生成RPT的正确过程。

KeyClope为授权服务提供了一个发现文档。您可以从以下url获取

curl -X GET http://localhost:8080/auth/realms/{realm}/.well-known/uma2-configuration -H "Authorization: Bearer ${access_token}"
这里localhost和8080用于keydepost主机和端口

错误表示您正在使用的令牌对客户端无效

我可以使用下面的命令获取
RPT

curl -X POST   http://localhost:8080/auth/realms/${realm}/protocol/openid-connect/token  -H "Authorization: Bearer ${access_token}" --data "grant_type=urn:ietf:params:oauth:grant-type:uma-ticket" --data "audience={resource_server_client_id}"  --data "permission=Resource#Scope"

keydape使用RPT响应客户机

我可以提取分配给用户的所有权限吗,因为这里我只获得与资源和用户相关的权限。我只想在用户登录时这样做。根据权限,我应该能够填充我的UI,但我不想使用资源策略。根据文档,您可以使用/auth/realms/${realm}/authz/protection/uma策略