Как получить роли области с пользовательскими данными в Keycloak Admin API - PullRequest
1 голос
/ 03 мая 2019

API: POST / {realm} / users

В соответствии с документацией они указывают, что роли областей существуют, но они не добавляются в пользовательские данные при вызове API.

1 Ответ

0 голосов
/ 03 мая 2019

Полагаю, вы имеете в виду GET, а не POST?Но это не имеет значения.

Действительно, возвращаемые UserRepresentation -ы содержат только подмножество всех документированных свойств , и роли областей не являются частью этого подмножества.В документации об этой «маленькой» детали ничего не говорится, и это кажется источником путаницы.Вы можете посмотреть здесь .

Вы можете использовать auth/admin/realms/{realm}/users/{user-uuid}/role-mappings/realm для получения ролей.Например:

  curl \
    -H "Authorization: bearer ...." \
    "http://localhost:8080/auth/admin/realms/<realm-here>/users/<user-id-here>/role-mappings/realm"

Ответ:

[
   {
      "id":"dcc58028-ba8a-4545-bafe-e8004488e4c5",
      "name":"admin",
      "description":"${role_admin}",
      "composite":true,
      "clientRole":false,
      "containerId":"master"
   },
   {
      "id":"99f5bb44-c203-493f-9eaa-6ec3a8ff264a",
      "name":"uma_authorization",
      "description":"${role_uma_authorization}",
      "composite":false,
      "clientRole":false,
      "containerId":"master"
   },
   {
      "id":"51853542-2ee8-4b29-b05c-03ef86f5b333",
      "name":"offline_access",
      "description":"${role_offline-access}",
      "composite":false,
      "clientRole":false,
      "containerId":"master"
   }
]
...