Функція system_user()
1. Опис
JUEL-функція system_user(): UserDto
необхідна для отримання системного користувача з Keycloak.
2. Параметри
Ця функція не приймає параметрів.
3. Що повертає
Ця функція повертає об’єкт типу UserDto
, що містить дані про системного користувача.
Поле |
Опис |
|
Ім’я користувача. |
|
Токен користувача. |
|
Мова користувача. |
|
Ідентифікаційний код користувача. |
|
Код ЄДРПОУ користувача. |
|
Повне ім’я користувача. |
|
Ролі користувача. |
|
Тип суб’єкта користувача. |
|
Чи є користувач представником. |
|
Інші атрибути користувача у вигляді ключів-значень. |
UserDto — клас, що є обгорткою даних користувача (тут — системного користувача). Завжди містить у собі userName , токен і JwtClaimsDto .
|
4. Методи взаємодії
Функція надає наступні методи:
Метод |
Опис |
|
Повертає ім’я користувача, що можна використовувати в полях Assignee та Candidate Users задач користувача. |
|
Повертає токен користувача, що можна використовувати в інтеграційних конекторах для інтеграції від імені користувача. |
|
Повертає мову користувача, що можна використовувати для налаштування інтерфейсу. |
|
Делегує виклик на |
|
Делегує виклик на |
|
Делегує виклик на |
|
Повертає ролі користувача. |
|
Повертає тип суб’єкта користувача. |
|
Повертає, чи є користувач представником. |
|
Повертає інші атрибути користувача у вигляді ключів-значень. |
Функція system_user() використовується для отримання інформації про системного користувача, що зберігається в Keycloak.
|
5. Приклади використання
Приклад 1. Використання функції system_user().accessToken
Один із можливих випадків використання функції system_user()
— це передача X-Access-Token системного користувача для автентифікації під час виконання інтеграційних операцій у бізнес-процесі. Наприклад, у розширенні System signature by DSO service можна передати токен системного користувача, використовуючи функцію system_user()
та метод accessToken
.
${system_user().accessToken}
-
system_user()
— викликає системного користувача, під яким відбувається процес. -
accessToken
— отримує токен доступу системного користувача.
Цей сценарій дозволяє використовувати токен для інтеграції з іншими сервісами або виконання дій від імені системного користувача, забезпечуючи необхідні права доступу.
|
Приклад 2. Отримання мови системного користувача
Функція system_user().language
дозволяє отримати мову системного користувача для налаштування інтерфейсу або локалізації. Це корисно, коли потрібно забезпечити єдину локалізацію для системних дій або повідомлень у процесі.
Значення за замовчуванням для мови системного користувача береться з поточної локалі реєстру. Коли клієнтський додаток виконує запит до сервісів user-task-management
або user-process-management
, значення HTTP-заголовка Accept-Language
зберігається разом із JWT-токеном системного користувача в БД Redis для подальшого доступу через JUEL-функцію system_user().language
.
${system_user().language}
Цей метод дозволяє використовувати мовні параметри для налаштування інтерфейсу або відображення повідомлень у бізнес-процесі відповідно до локалізації системного користувача, що може покращити узгодженість інтерфейсу та локалізації у процесі.