Masquerade — вход под пользователем

Masquerade — функция, позволяющая администратору с типом владельца NONE (ROOT_ADMIN) войти в систему от имени другого пользователя. После авторизации администратор видит интерфейс и данные целевого пользователя, как если бы он вошёл под его учётной записью.


Когда отображается экран Masquerade

Экран выбора пользователя появляется автоматически после авторизации, если у текущего пользователя ownerType = NONE. Обычные пользователи (с типами CLIENT, CARRIER и др.) этот экран не видят — для них загружается стандартный интерфейс.

При попытке перейти к любому разделу приложения система перенаправляет ROOT_ADMIN на экран Masquerade до тех пор, пока не будет выбран целевой пользователь.


Переход к экрану

  1. Откройте приложение и авторизуйтесь под учётной записью с ownerType = NONE

  2. Система автоматически перенаправит вас на страницу /auth/masquerade

Прямой переход по адресу /auth/masquerade доступен только авторизованным пользователям. Неавторизованные пользователи будут перенаправлены на страницу входа.


Описание экрана

Экран представлен в виде модального окна с заголовком «Вход под пользователем».

Элементы формы:

  • Поле «ID пользователя (UUID)» — текстовое поле для ввода UUID целевого пользователя в формате xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

  • Кнопка «Войти» (primary) — выполняет вход от имени указанного пользователя

  • Кнопка «Отмена» (secondary) — завершает текущую сессию и перенаправляет на страницу выхода (/auth/logout)

Модальное окно нельзя закрыть без выбора действия — кнопка закрытия и клик по overlay отсутствуют (closable = false).


Порядок действий

  1. В поле «ID пользователя (UUID)» введите UUID целевого пользователя

  2. Нажмите кнопку «Войти» или клавишу Enter

  3. После успешного masquerade система загрузит профиль целевого пользователя и перенаправит на главную страницу


Валидация

  • Поле проверяет формат UUID (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

  • При некорректном формате отображается сообщение об ошибке: «Не верный формат. Ожидается UUID вида xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx»


Обработка ошибок

  • Пользователь не найден (HTTP 401) — отображается toast-уведомление: «Пользователь не найден»

  • Другая ошибка — отображается toast-уведомление с текстом ошибки или сообщение: «Не удалось войти. Повторите попытку позже.»

В обоих случаях форма остаётся открытой, позволяя повторить попытку.


API

Masquerade выполняется через эндпоинт:

POST /webapi/auth/masquerade

Тело запроса:

{ "userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }

Успешный ответ — авторизация от имени целевого пользователя. Система загружает новый профиль и перенаправляет на главную страницу.