Збереження ролей користувачів до 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. Назви форм ви можете знайти всередині відповідних користувацьких задач бізнес-процесу у полі |