REST API中缺少Keycloak用户角色

tro*_*r19 3 rest roles user-roles keycloak

我想问一下,如果有人知道,为什么REST ADMIN API请求中的用户详细信息中没有角色.我看到了一些涉及这个主题的帖子,但是没有明确的答案,或者他们建议使用keycloak-admin-client,但这似乎不太方便.也许我需要在管理控制台中映射角色或使用声明?角色是最重要的用户属性之一,因此它们没有被检索为其他用户属性的原因?有什么建议吗?谢谢

GET /auth/admin/realms/{realm}/users 

{
  "id": "efa7e6c0-139f-44d8-baa8-10822ed2a9c1",
  "createdTimestamp": 1516707328588,
  "username": "testuser",
  "enabled": true,
  "totp": false,
  "emailVerified": false,
  "firstName": "Test",
  "lastName": "User",
  "email": "test@xxx.com",
  "attributes": {"xxx": ["123456"]},
  "disableableCredentialTypes": ["password"],
  "requiredActions": []
}
Run Code Online (Sandbox Code Playgroud)

Boo*_*mer 8

您没有在用户详细信息中获得角色,因为REST API完全基于资源,而角色是仅与用户关联的单独对象.以下REST URL可用于获取用户的角色
获取关联的域角色:
GET /auth/admin/realms/{realm}/users/{user-uuid}/role-mappings/realm
获取特定客户端的关联角色:
GET /auth/admin/realms/{realm}/users/{user-uuid}/role-mappings/clients/{client-uuid}

  • 我也有同样的问题,我需要与用户关联的角色、组。得到我使用的:https://www.keycloak.org/docs-api/3.0/rest-api/index.html#_users_resource URI:GET /admin/realms/{realm}/users/{id} 根据上述链接中提供的文档,还应提供用户详细信息,包括角色、组。 (3认同)
  • 由于响应中缺少角色和组,这会导致严重的效率问题,因为有时必须有大约 20 个请求按名称、角色和组搜索用户 (3认同)