Keycloak 18.0:通过REST API获取客户端角色用户列表遇错求助
问题分析与解决步骤
客户端ID参数错误
调用/admin/realms/my-realms/clients/my-client-id/roles报错“Could not find client”,是因为这里的my-client-id需要用客户端的UUID,而非控制台显示的Client ID(友好名称)。获取客户端UUID的两种方式:- 登录Keycloak控制台,进入目标客户端的
Settings页面,查看ID字段 - 调用API获取客户端列表:
GET /admin/realms/my-realms/clients,返回结果中每个客户端的id字段即为UUID
- 登录Keycloak控制台,进入目标客户端的
缺失必要权限
除了已分配的view-users、view-clients,还需给管理员用户添加realm-management下的query-users权限,否则无法查询关联角色的用户列表。正确查询拥有指定客户端角色的用户
拿到正确的客户端UUID后,使用以下API请求:GET /admin/realms/my-realms/clients/{client-uuid}/roles/{target-role-name}/users若使用角色UUID而非名称,替换为:
GET /admin/realms/my-realms/clients/{client-uuid}/roles/{target-role-uuid}/users
内容的提问来源于stack exchange,提问作者pasquy73
相关产品推荐
相关产品推荐

