Додавання ролі користувачу у Keycloak: Add role to keycloak user

Цей документ пояснює, як додати роль користувачу у Keycloak в рамках бізнес-процесу.

1. Загальна інформація

Інтеграційне розширення Add role to keycloak user дозволяє додавати роль користувачу у певному Keycloak-реалмі.

Таблиця 1. Короткі відомості про делегат
Назва Пояснення

Бізнес-назва інтеграційного розширення

Add role to keycloak user

Службова назва інтеграційного розширення

${addRoleToKeycloakUser}

Назва файлу в бібліотеці розширень

addRoleToKeycloakUser.json

2. Перед початком

Якщо ви використовуєте функціональність Кабінету адміністратора регламентів для розробки реєстру, вам не потрібно встановлювати типові розширення, додаткові зовнішні застосунки та плагіни. Портал містить усе необхідне вбудоване з коробки.

При моделюванні бізнес-процесів із використанням сторонніх застосунків, важливо інтегрувати каталог типових розширень з нашого репозиторію. Завітайте до business-process-modeler-extensions, щоб завантажити необхідні файли. Наприклад, для таких інструментів, як Camunda Modeler, у вашій теці /element-templates мають бути включені відповідні JSON-файли. Для детальних інструкцій, будь ласка, перегляньте Встановлення типових розширень.

3. Налаштування

Делегат Add role to keycloak user призначений для використання у сервісних завданнях (Service Task) бізнес-процесу. Він додає роль користувачу у певному Keycloak-реалмі за іменем користувача.

3.1. Налаштування сервісного завдання

  1. Створіть завдання типу Service Task у вашому бізнес-процесі.

  2. Назвіть завдання, наприклад, Додавання ролі користувачу.

  3. Застосуйте шаблон делегата, обравши Add role to keycloak user зі списку в налаштуваннях завдання.

    add role to keycloak user 2

3.2. Налаштування делегата

  1. Вкажіть ім’я користувача (User name) у системі Keycloak. Це можна зробити, наприклад, за допомогою juel-функції initiator():

    ${initiator().userName}
  2. У полі Role вкажіть назву ролі, яку необхідно додати, наприклад, individual.

Результатом виконання завдання буде додавання ролі individual користувачу, чиє ім’я користувача дорівнює ${initiator().userName}.

Після завершення операції, делегат не отримує жодних даних у відповідь.

4. Приклад

Ось приклад, який показує, як відповідний делегат використовується у бізнес-процесі:

add role to keycloak user 1
Зображення 1. Приклад. Додавання ролі individual користувачу ${initiator().userName}
Де можна знайти приклад бізнес-процесу?

Адміністратор Платформи може розгорнути для вас демо-реєстр — еталонний реєстр, що містить референтні та інші приклади файлів для створення цифрового регламенту. Він містить різноманітні елементи для розробки моделі даних, бізнес-процесів, UI-форм, аналітичної звітності, витягів, сповіщень, зовнішніх інтеграцій та багато іншого.

Еталонний регламент з прикладами для України зберігається в репозиторії ua-registry-demo-regulation.

Детальну інструкцію щодо розгортання демо-реєстру та отримання референтних прикладів моделювання ви знайдете на сторінці Розгортання демо-реєстру із референтними прикладами.

Приклад BPMN-схеми процесу буде доступний у регламенті демо-реєстру за пошуком по ключовим словам — feature-unregistered-role.

Назви форм ви можете знайти всередині відповідних користувацьких задач (User Task) бізнес-процесів у полі Form key.

У Кабінеті користувача бізнес-процес буде доступний у розділі Доступні послуги.