Скрытый ключ создает составную роль

#keycloak #keycloak-services #keycloak-rest-api

#скрытие ключей #keycloak-сервисы #keycloak-rest-api

Вопрос:

Я пытаюсь создать составную роль с помощью API

 POST /{realm}/clients/{id}/roles
body:
{"name":"|studio-5|-|project-5|-|agreement-39|-|team-member-agreement-admin|", "clientRole": true, "composite": true, "composites": {"name": ["owner"]}}
 

Что я должен отправить в композитах? Я попробовал массив имен ролей, но он просто создает роль с составным false

Ответ №1:

(только для ролей области) Чтобы создать Role A составную часть a Role B , выполните следующие действия:

 POST <KEYCLOAK_HOST>/auth/admin/realms/<REALM_NAME>/roles-by-id/<ROLE_ID_OF_ROLE_B>/composites
 

с помощью запроса:

 [{"id":"<ID_OF_ROLE_A>","name":"RoleCompositve","composite":false,"clientRole":false,"containerId":"test"}]
 

Идентификаторы из ролей вы можете получить через консоль администратора:

  • Перейдите в область, содержащую роль:
  • Выберите роли;
  • Щелкните по конкретной роли;
  • В URL-адресе последняя часть — это идентификатор роли.

Или через Keycloak Admin Rest Api:

 Get <KEYCLOAK_HOST>/auth/admin/realms/<REALM_NAME>/roles/<ROLE_NAME>