Отримання користувачів за роллю з Keycloak: Get users by role from Keycloak

Цей документ надає інструкції щодо використання інтеграційного розширення для отримання користувачів з Keycloak за роллю через REST API.

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

Інтеграційне розширення Get users by role from Keycloak дозволяє отримувати користувачів з відповідною роллю з Keycloak. Це спрощує доступ до даних користувачів для подальшого використання в бізнес-процесах.

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

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

Get users by role from Keycloak

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

${keycloakGetUsersConnectorDelegate}

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

getUsersByRoleFromKeycloak.json

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

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

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

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

3.1. Налаштування завдання

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

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

  3. Застосуйте шаблон делегата Get users by role from Keycloak.

    get users by role from keycloak 1

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

Заповніть необхідні параметри у розділі Custom properties:

  1. Role name (опційний параметр).

    • Вкажіть назву ролі або ролей користувачів. Наприклад, вираз ${inputPayload.getValue().prop('role').value()} зможе отримати значення ролі із вхідних даних процесу динамічно.

    • Вкажіть назву ролі напряму як константу. Наприклад, officer, officer-first-rank тощо.

      Якщо поле порожнє, система застосує роль за замовчуванням — officer.
  2. Limit (опційний параметр).
    Кількість користувачів, яких потрібно повернути у відповіді. Якщо не вказано, система використовує значення 100 за замовчуванням. Наприклад, можна вказати 300, щоб отримати більше результатів.

  3. Offset (опційний параметр).
    Кількість користувачів, яких слід пропустити перед поверненням результатів. Якщо не вказано, система використовує значення 0 за замовчуванням.

  4. Result variable Вкажіть змінну процесу, до якої буде записано результат виконання завдання. Наприклад, officerUsers.

Обов’язково перевірте, щоб усі необхідні поля були коректно заповнені, і значення відповідали вимогам вашого бізнес-процесу.

4. Результат виконання

Після успішного виконання завдання результат буде збережено у змінній, зазначеній у полі Result variable. Наприклад:

Приклад. Тіло відповіді
{
  "users": [
    {
      "id": "userId1",
      "userName": "userName1",
      "fullName": "Іванов Іван Іванович",
      "attributes": {
        "role": "officer-first-rank"
      }
    },
    {
      "id": "userId2",
      "userName": "userName2",
      "fullName": "Петров Петро Петрович",
      "attributes": {
        "role": "officer-first-rank"
      }
    }
  ]
}

5. Приклад

Нижче наведено приклад використання делегата Get users by role from Keycloak у бізнес-процесі. Детальний опис процесу ви можете знайти на сторінці Моделювання паралельного виконання задач надавачами послуг із різними ролями.

bp officer simultaneous tasks 13
Зображення 1. Референтний приклад. Отримання користувачів за роллю
Де можна знайти приклад референтного бізнес-процесу?

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

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

Приклад BPMN-схеми процесу можна знайти в регламенті демо-реєстру за пошуком ключових слів — reference-parallel-tasks-officers-diff-rls.