我一直在使用keycloak建立授权,并已建立了基于资源的特定角色和权限以及但是JWT访问令牌包含大约只有角色,而不是分配给用户权限的详细信息。
我想访问令牌包括权限的详细信息,并试图在Keycloak文件的方法: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。
Keycloak提供授权服务一个发现的文件。您可以从以下网址获得。
curl -X GET http://localhost:8080/auth/realms/{realm}/.well-known/uma2-configuration -H "Authorization: Bearer ${access_token}"
这里本地主机和8080是keycloak主机和端口
错误说你正在使用的令牌是无效的客户端。
我能得到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"
Keycloak响应与RPT客户端