1

我正在尝试根据用户的角色检索用户列表。我有这个角色:ROLE_ADMIN。我想检索每个具有此角色的用户。

我用这个端点试试:

http://10.10.10.10:5555/auth/demo-realm/clients/e286a05c-6641-49c3-bb7c-ffe5dd2d8c66/roles/ROLE_ADMIN/users

但它给我发回了这个:

{“错误”:“RESTEASY003210:找不到完整路径的资源: http://10.10.10.10:5555/auth/demo-realm/clients/e286a05c-6641-49c3-bb7c-ffe5dd2d8c66/roles/ROLE_ADMIN/users }

我在这里找到了端点:https://www.keycloak.org/docs-api/11.0/rest-api/index.html"Return List of Users that have the specified role name"

例如,我可以达到这些端点:

http://10.10.10.10:5555/auth/realms/demo-realm/protocol/openid-connect/token

http://10.10.10.10:5555/auth/admin/realms/demo-realm/users

我错过了什么?是什么让这不起作用?

提前致谢。

4

1 回答 1

1

要让用户与给定的Realm 角色相关联,您需要调用端点:

GET <KEYCLOAK_HOST>/auth/admin/realms/<YOUR_REALM>/roles/<ROLE_NAME>/users

要让用户与给定的客户角色相关联,您需要调用此端点:

GET <KEYCLOAK_HOST>/auth/admin/realms/<YOUR_REALM>/clients/<CLIENT_ID>/roles/<ROLE_NAME>/users

<CLIENT_ID>属于ID的客户在哪里<ROLE_NAME>

最后,要获取客户端ID,您可以调用此端点:

GET <KEYCLOAK_HOST>/auth/admin/realms/<YOUR_REALM>/clients?clientId=<ID_OF_CLIENT>

请注意,客户端IDIDKeycloak 生成的唯一客户端,而您提供给 Keycloak 客户端的客户端是唯一<ID_OF_CLIENT>的。Client ID

于 2020-12-03T16:02:14.290 回答