#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>