Додавання ролі користувачу у Keycloak: Add role to keycloak user
Цей документ пояснює, як додати роль користувачу у Keycloak в рамках бізнес-процесу.
1. Загальна інформація
Інтеграційне розширення Add role to keycloak user дозволяє додавати роль користувачу у певному Keycloak-реалмі.
| Назва | Пояснення | 
|---|---|
| Бізнес-назва інтеграційного розширення | Add role to keycloak user | 
| Службова назва інтеграційного розширення | 
 | 
| Назва файлу в бібліотеці розширень | addRoleToKeycloakUser.json | 
2. Перед початком
| Якщо ви використовуєте функціональність Кабінету адміністратора регламентів для розробки реєстру, вам не потрібно встановлювати типові розширення, додаткові зовнішні застосунки та плагіни. Портал містить усе необхідне вбудоване з коробки. При моделюванні бізнес-процесів із використанням сторонніх застосунків, важливо інтегрувати каталог типових розширень з нашого репозиторію. Завітайте до business-process-modeler-extensions, щоб завантажити необхідні файли. Наприклад, для таких інструментів, як Camunda Modeler, у вашій теці /element-templates мають бути включені відповідні JSON-файли. Для детальних інструкцій, будь ласка, перегляньте Встановлення типових розширень. | 
3. Налаштування
Делегат Add role to keycloak user призначений для використання у сервісних завданнях (Service Task) бізнес-процесу. Він додає роль користувачу у певному Keycloak-реалмі за іменем користувача.
3.1. Налаштування сервісного завдання
- 
Створіть завдання типу Service Task у вашому бізнес-процесі. 
- 
Назвіть завдання, наприклад, Додавання ролі користувачу.
- 
Застосуйте шаблон делегата, обравши Add role to keycloak user зі списку в налаштуваннях завдання.  
3.2. Налаштування делегата
- 
Вкажіть ім’я користувача (User name) у системі Keycloak. Це можна зробити, наприклад, за допомогою juel-функції initiator():${initiator().userName}
- 
У полі Role вкажіть назву ролі, яку необхідно додати, наприклад, individual.
Результатом виконання завдання буде додавання ролі individual користувачу, чиє ім’я користувача дорівнює ${initiator().userName}.
| Після завершення операції, делегат не отримує жодних даних у відповідь. | 
4. Приклад
Ось приклад, який показує, як відповідний делегат використовується у бізнес-процесі:
 
| Де можна знайти приклад бізнес-процесу?Адміністратор Платформи може розгорнути для вас демо-реєстр — еталонний реєстр, що містить референтні та інші приклади файлів для створення цифрового регламенту. Він містить різноманітні елементи для розробки моделі даних, бізнес-процесів, UI-форм, аналітичної звітності, витягів, сповіщень, зовнішніх інтеграцій та багато іншого. Еталонний регламент з прикладами для України зберігається в репозиторії  Детальну інструкцію щодо розгортання демо-реєстру та отримання референтних прикладів моделювання ви знайдете на сторінці Розгортання демо-реєстру із референтними прикладами. Приклад BPMN-схеми процесу буде доступний у регламенті демо-реєстру за пошуком по ключовим словам — feature-unregistered-role. Назви форм ви можете знайти всередині відповідних користувацьких задач (User Task) бізнес-процесів у полі Form key. У Кабінеті користувача бізнес-процес буде доступний у розділі Доступні послуги. |