Збереження ролей користувачів до Keycloak: Save user roles
| 🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
Цей документ надає інструкції щодо збереження ролей користувачів до Keycloak.
1. Загальна інформація
Загальне інтеграційне розширення-делегат надає можливість взаємодіяти із сервісом управління ідентифікацією та доступом Keycloak для зміни ролей користувача. Делегат налаштовується у сервісних задачах (Service Task) бізнес-процесу за допомогою шаблону Save user roles.
| Назва | Пояснення |
|---|---|
Бізнес-назва |
Save user roles |
Службова назва |
|
Назва файлу у бібліотеці розширень |
keycloakSaveUserRoleConnectorDelegate.json |
2. Перед початком
|
Якщо ви використовуєте функціональність Кабінету адміністратора регламентів для розробки реєстру, вам не потрібно встановлювати типові розширення, додаткові зовнішні застосунки та плагіни. Портал містить усе необхідне вбудоване з коробки. При моделюванні бізнес-процесів із використанням сторонніх застосунків, важливо інтегрувати каталог типових розширень з нашого репозиторію. Завітайте до business-process-modeler-extensions, щоб завантажити необхідні файли. Наприклад, для таких інструментів, як Camunda Modeler, у вашій теці /element-templates мають бути включені відповідні JSON-файли. Для детальних інструкцій, будь ласка, перегляньте Встановлення типових розширень. |
3. Налаштування делегата
Делегат Save user roles призначений для використання у сервісних завданнях (Service Task) бізнес-процесу. Він надає можливість додавати або змінювати ролі для надавачів та отримувачів послуг у Keycloak-реалмах citizen та officer.
3.1. Налаштування сервісного завдання
-
Створіть Service Task.
-
У полі
Nameвкажіть назву сервісної задачі. -
Застосуйте шаблон делегата Save user roles зі списку доступних у каталозі.

3.2. Налаштування делегата
-
У секції передайте ролі, які необхідно призначити користувачу. Наприклад,
officer.У нашому прикладі передається одна роль (
officer) масивом (List).Доступні типи змінних, через які можна передати ролі:
-
List— список/масив; -
Map— ключі-значення; -
Script— скрипт; -
String or expression— рядок або вираз.
Приклад 1. Масив ролей, які необхідно призначити користувачу['officer', 'manager1', 'manager2']-
officer— системна роль, яка призначається користувачу після реєстрації. -
manager1таmanager2— можуть бути регламентними ролями у реєстрі.
-
-
Вкажіть ім’я користувача (
username) у системі Keycloak. Це можна зробити, наприклад, за допомогою juel-функціїinitiator():${initiator().userName} -
Оберіть реалм Keycloak, до якого відноситься користувач. Наприклад,
officer, при реєстрації посадових осіб.Доступні опції реалмів:
-
CITIZEN— реалм, в якому зберігаються отримувачі послуг та їх ролі. -
OFFICER— реалм, в якому зберігаються посадові особи (надавачі послуг) та їх ролі.
-
-
Вкажіть тип ролей, які можуть бути змінені для користувача. Доступні опції:
-
ALL ROLES— усі поточні ролі будуть заміщені переліком ролей, вказаних у секціїRoles. -
PLATFORM ROLES— поточні системні ролі, призначені користувачу, будуть заміщені переліком ролей, вказаних у секціїRoles. Поточні регламентні/реєстрові ролі залишаться без змін. -
REGISTRY ROLES— у користувача будуть заміщені лише регламентні/реєстрові ролі.
-
Якщо при налаштуванні делегата як input-параметри передати масив ролей, одна з яких — системна, а дві інші - регламентні (тут —
officerтаmanager1іmanager2), то необхідно обрати опціюALL ROLES. -
Якщо при налаштуванні делегата передати системну роль (тут —
officer), то необхідно обрати опціюPLATFORM ROLES. -
Якщо при налаштуванні делегата передати регламентні ролі (тут —
manager1іmanager2), то необхідно обрати опціюREGISTRY ROLES.
-
Unresolved include directive in modules/registry-develop/pages/bp-modeling/bp/element-templates/service-task-templates/user-roles/save-user-roles.adoc - include::registry-develop:partial$snippets/element-templates/delegate-no-response.adoc[]
4. Приклад
Ось референтний приклад, який показує, як відповідний делегат використовується у бізнес-процесі:
Де можна знайти приклад референтного бізнес-процесу?Адміністратор Платформи може розгорнути для вас демо-реєстр — еталонний реєстр, що містить референтні та інші приклади файлів для створення цифрового регламенту. Він містить різноманітні елементи для розробки моделі даних, бізнес-процесів, UI-форм, аналітичної звітності, витягів, сповіщень, зовнішніх інтеграцій та багато іншого. Детальну інструкцію щодо розгортання демо-реєстру та отримання референтних прикладів моделювання ви знайдете на сторінці Розгортання демо-реєстру із референтними прикладами. Приклад BPMN-схеми процесу буде доступний у регламенті демо-реєстру за пошуком по ключовим словам — officer-selfregistration-handmoderation. Назви форм ви можете знайти всередині відповідних користувацьких задач бізнес-процесу у полі |