如何解决如何从Keycloak中的自定义客户端获取角色?
要在自定义客户端中获得角色,我知道我需要执行两个API。一种是获取访问令牌,另一种是获取角色。我的疑问是,应该通过在标头中发送admin-CLI详细信息来获取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"
}
解决方法
使用邮递员和三个条件应支持它。 #1“测试用户”需要一个“查看客户端”角色。它来自“领域管理”客户端。
#2使用“ admin-cli”客户端并使用“机密”更改访问类型并打开“启用授权”为“开”
#4获得具有#3的秘密和#1用户的凭据(用户名和密码)的令牌
#5您需要保存用于调用客户端/角色API的令牌
#8使用#7 id调用自定义角色API。 它应该与UI的角色匹配。
祝你好运!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。