kuz*_*zua 6 rest oauth oauth-2.0 postman keycloak
我正在本地运行 bitnami 的 Keycloak 图像。我想做的是;使用 Keycloak REST API。但无论我多么努力,我都会得到 401。
我已经完成了文档中写的内容。所以这是客户端的屏幕截图。access type是confidential,服务帐户是enabled。这是testapi我创建的客户端;

在这里您可以看到服务帐户角色;
查看和管理我分配的用户manage-users和view-user角色。
首先,为了得到access_token,我正在使用client_id和client_credential。正如你从这里看到的;
我获取访问令牌没有问题。
但是当我尝试获取用户列表或创建新用户时,我总是得到 401。在这里您可以看到我使用了从 http://localhost:8092/auth/realms/test/protocol 获得的相同 access_token /openid-connect/令牌
这没有意义。我开始考虑砸电脑。
任何帮助将不胜感激
小智 0
对于遇到完全相同问题并最终进入此页面的任何人,这里是解决方案:
将所有 keycloak 设置保留为默认设置,无论您使用bitnami/keycloak、 或keycloak/keycloak,您都无需在管理控制台中进行任何更改
使用 GET 方法调用此端点:
curl -X GET http://keycloak:8080/realms/master/.well-known/openid-configuration
Run Code Online (Sandbox Code Playgroud)
确保颁发者端点正确。
通过命令请求令牌:
access_token=`curl -H "Content-Type: application/x-www-form-urlencoded" -d "client_id=admin-cli" -d "username=user" -d "password=bitnami" -d "grant_type=password" -d "scope=openid" "http://keycloak:8080/realms/master/protocol/openid-connect/token" | jq -r .access_token`
Run Code Online (Sandbox Code Playgroud)
确保您没有忘记scope=openid
通过调用 userinfo 来验证此令牌60 seconds
curl -H "Authorization: bearer ${access_token}" -H "Content-Type: application/x-www-form-urlencoded" -d "scope=openid" "http://keycloak:8080/realms/master/protocol/openid-connect/userinfo"
Run Code Online (Sandbox Code Playgroud)
确保您scope=openid也没有忘记。
| 归档时间: |
|
| 查看次数: |
8071 次 |
| 最近记录: |