如何在没有管理员角色的情况下通过 REST 获取 Keycloak 用户信息

Mor*_*ndi 5 keycloak keycloak-services

我使用keycloak作为授权服务器。用户将自己的用户名/密码发送到MyWebAppMyWebApp获取grant_type: password令牌,然后将令牌响应给用户。现在我希望我的用户能够获取他们的信息,更改他们的密码以及与他们自己相关的一切RESTFUL。当我发送休息请求以/{realm}/users/{id}获取用户信息时,keycloak 收到 403 错误响应。如何在没有 keyclaok 管理员访问权限的情况下获取用户信息?

注意:我已经看到这个问题,但我也想给用户编辑个人资料。

Hle*_*lex 7

我认为您正在使用带有 Grant type=password 的 Oauth。如果您提到的令牌是由Keycloak生成的。您可以使用 /userinfo 端点向 Keycloak 请求用户信息。

这是端点的示例:

http://localhost:8080/auth/realms/demo/protocol/openid-connect/userinfo

这是发送参数的方法: https://connect2id.com/products/server/docs/api/userinfo

获取/用户信息 HTTP/1.1

主办方:c2id.com

授权:承载 Gp7b5hiURKpWzEXgMJP38EnYimgxlBC1PpS2zGXUqe