要在自定义客户端中获得角色,我知道我需要执行两个API。一个是获取访问令牌,另一个是获取角色。我的疑问是,我应该通过在标头中发送admin细节来获得accessToken,还是因为我想要我创建的自定义客户端的角色?因为,当我试图获取角色时,我得到了unknown_error。
要获得accessToken:
curl -X POST \
http://localhost:8080/auth/realms/test-keycloak-example/protocol/openid-connect/token \
-H 'cache-control: no-cache' \
-H 'content-type: application/x-www-form-urlencoded' \
-d 'grant_type=client_credentials&client_id=test-keycloak-example&client_secret=shhh'
要获得角色:
curl -X GET \
http://localhost:8080/auth/admin/realms/test-keycloak-example/clients/cb11fd17-46df-419a-9c67-4a69d1be66ae/roles \
-H 'authorization: Bearer <token received from previous call> \
-H 'cache-control: no-cache' \
-H 'postman-token: 248fef6b-9c24-3aa3-91ae-a6f11e01e55c'
答复是:
{
"error": "unknown_error"
}
发布于 2020-09-26 03:52:54
使用邮递员和三个条件应该支持它。#1“测试-用户”需要一个“视图-客户端”角色。它来自“领域管理”客户端。
#2使用"admin-cli“客户端并使用”机密“更改访问类型,并打开”授权启用“是" on”。
#3使用“admin-cli”的秘密为邮递员令牌呼叫。
使用#3的秘密和#1的用户证书(用户名和密码)获取令牌。
。
#5您需要保存一个用于调用客户机/角色API的令牌
,
使用#5的令牌调用列表客户机/角色API。
#7从#6中查找“定制客户端”id。
8使用#7 id调用自定义的角色API。
它应该与UI的角色匹配。
祝好运!
https://stackoverflow.com/questions/64024469
复制相似问题