Збереження атрибутів надавача послуг в Keycloak: Save officer user attributes to Keycloak
Цей документ пояснює, як додавати атрибути надавачів послуг у вашому реєстрі через бізнес-процес.
1. Загальна інформація
Інтеграційне розширення Save officer user attributes to Keycloak дозволяє вам додавати атрибути користувача в Keycloak-реалмі officer
.
Назва | Пояснення |
---|---|
Бізнес-назва інтеграційного розширення |
Save officer user attributes to Keycloak |
Службова назва інтеграційного розширення |
|
Назва файлу в бібліотеці розширень |
keycloakSaveOfficerUserAttributesDelegate.json |
2. Перед початком
Якщо ви використовуєте функціональність Кабінету адміністратора регламентів для розробки реєстру, вам не потрібно встановлювати типові розширення, додаткові зовнішні застосунки та плагіни. Портал містить усе необхідне вбудоване з коробки. При моделюванні бізнес-процесів із використанням сторонніх застосунків, важливо інтегрувати каталог типових розширень з нашого репозиторію. Завітайте до business-process-modeler-extensions, щоб завантажити необхідні файли. Наприклад, для таких інструментів, як Camunda Modeler, у вашій теці /element-templates мають бути включені відповідні JSON-файли. Для детальних інструкцій, будь ласка, перегляньте Встановлення типових розширень. |
3. Налаштування делегата
Делегат Save officer user attributes to Keycloak призначений для використання у сервісних завданнях (Service Task) бізнес-процесу. Його основна мета — забезпечити зручне додавання нових або оновлення наявних атрибутів надавачів послуг безпосередньо в реалм officer
у Keycloak. Це охоплює як обов’язкові атрибути, зокрема fullName
, edrpou
та drfo
так і будь-які додаткові, надаючи більш гнучке налаштування профілів користувачів залежно від конкретних вимог бізнесу та безпеки.
3.1. Налаштування сервісного завдання
-
Створіть завдання типу Service Task у вашому бізнес-процесі.
-
Назвіть завдання, наприклад,
Збереження змінених атрибутів користувача в Keycloak
. -
Застосуйте шаблон делегата, обравши відповідний зі списку в налаштуваннях завдання.
3.2. Налаштування делегата
-
У розділі Inputs вкажіть map атрибутів користувача з Keycloak.
-
.
-
Assignment type:
String or expression
. -
У полі Value вкажіть перелік додаткових атрибутів. Наприклад,
${attributes.value}
. Додаткові атрибути не є обов’язковими для створення користувача у Keycloak і використовуються у специфічних сценаріях, відповідно до передбаченої бізнес-логіки.Map атрибутів формується попередньо у скрипт-задачі бізнес-процесу. Наприклад, це може виглядати так:
def formData = submission('UserTask_SignUserWithUpdatedAttributes').formData def attributes = [:] if(formData.hasProp('workStartDate') && !formData.prop('workStartDate').value().isEmpty()) { attributes.workStartDate = formData.prop('workStartDate').value() } attributes.hierarchy_code = formData.prop('unit').prop('hierarchyCode').value() set_transient_variable('attributes', attributes)
-
-
У розділі Custom properties вкажіть перелік основних обов’язкових атрибутів користувача, а також змінну для збереження результату.
-
У полі Full name вкажіть прізвище, ім’я та по батькові користувача. Відповідає Keycloak-атрибуту
fullName
. Наприклад,${submission('UserTask_SignOfficerAttributes').formData.prop('fullName').value()}
. У цьому прикладі передаємо значення атрибута, отримане з UI-формиUserTask_SignOfficerAttributes
за допомогою кастомної JUEL-функціїsubmission()
. -
У полі Drfo вкажіть РНОКПП (ідентифікаційний номер) користувача. Відповідає Keycloak-атрибуту
drfo
. Наприклад,${submission('UserTask_SignOfficerAttributes').formData.prop('drfo').value()}
. У цьому прикладі передаємо значення атрибута, отримане з UI-формиUserTask_SignOfficerAttributes
за допомогою кастомної JUEL-функціїsubmission()
. -
У полі Edrpou вкажіть ЄДРПОУ користувача. Відповідає Keycloak-атрибуту
edrpou
. Наприклад,${submission('UserTask_SignOfficerAttributes').formData.prop('fullName').value()}
. У цьому прикладі передаємо значення атрибута, отримане з UI-формиUserTask_SignOfficerAttributes
за допомогою кастомної JUEL-функціїsubmission()
.
-
Результатом виконання запита буде збережений список атрибутів користувача до БД Keycloak.
Після завершення операції, делегат не отримує жодних даних у відповідь. |
4. Приклад
Ось референтний приклад, який показує, як відповідний делегат використовується у бізнес-процесі:

Де можна знайти приклад референтного бізнес-процесу?Адміністратор Платформи може розгорнути для вас демо-реєстр — еталонний реєстр, що містить референтні та інші приклади файлів для створення цифрового регламенту. Він містить різноманітні елементи для розробки моделі даних, бізнес-процесів, UI-форм, аналітичної звітності, витягів, сповіщень, зовнішніх інтеграцій та багато іншого. Еталонний регламент з прикладами для України зберігається в репозиторії Детальну інструкцію щодо розгортання демо-реєстру та отримання референтних прикладів моделювання ви знайдете на сторінці Розгортання демо-реєстру із референтними прикладами. Приклад BPMN-схеми процесу буде доступний у регламенті демо-реєстру за пошуком по ключовим словам — reference-officers-management. Назви форм ви можете знайти всередині відповідних користувацьких задач бізнес-процесу у полі |