Для работы с API платформы необходимо:
- Выполнить настройку на стороне Keycloak (один из компонентов платформы Robin) - см. подробнее ниже.
- Сформировать токен для выполнения запросов к API. Подготовить токен можно в разделе "API" на вкладке "Токены".
Токен необходимо указывать в запросах в заголовке Authorization:
Authorization: Bearer <ваш_токен_доступа> |
Настройка на стороне Keycloak
Необходимо включить grant_type в кейклоке, для этого:
- На сервере в конфигурационный файл "keycloak.conf" добавьте параметр:
features=token-exchange,admin-fine-grained-authz |
Файл обычно расположен в /opt/keycloak/config/keycloak.conf
- После сохранения изменений в файле, перезапустите службу Keycloak командой:
systemctl restart keycloak |
- Откройте консоль администратора в Keycloak, выбрав "robin" в качестве realm:
https://<адрес вашего Keycloak>:8443/admin/master/console/#/robin - На левой панели откройте раздел "Clients" (1) и нажмите в нем на кнопку "Create client" (2):

- Заполните значения так, показано на скриншотах:
- На шаге №1 "General settings":

- На шаге №2 "Capability config":

- На шаге №3 "Login settings":

- Нажмите на кнопку "Save".
- На левой панели откройте раздел "Users" (1), перейдите в нем на вкладку "Permissions" (2) и переключите параметр "Permissions enabled" (3) в положение "On":

- Снова откройте раздел "Clients" (1) на вкладке "Clients list" (2) найдите клиента "realm-management" (3) и нажмите на него:

- На открывшейся странице перейдите на вкладку "Authorization" (1), выберите пункт "Permissions" (2), найдите в списке значение "admin-impersonating.permission.users" (3) и нажмите на него:

- На открывшейся странице нажмите на поле "Policies" (1) и на кнопку "Create client policy" (2):

- В открывшемся окне выберите тип политики "Client":

- Укажите в поле "Name" значение "externalclient-impresonator". В поле "Clients" выберите "ExternalClient".

- Нажмите на кнопку "Save".
- В свойствах "admin-impersonating.permission.users" в поле "Policies" выберите созданную политику "externalclient-impresonator":

- Нажмите на кнопку "Save".
Формирование токена

Сформировать токен для выполнения запросов к API можно в разделе "API" на вкладке "Токены".
Токен необходимо указывать в запросах в заголовке Authorization:
Authorization: Bearer <ваш_токен_доступа> |