POST/api/auth/login
Авторизует пользователя и выдает сессионный JWT-токен и токен обновления. Это единственный способ получить действительный токен доступа для панели управления — отдельной системы ключей API для разработчиков не существует.
Аутентификация и защита
Аутентификация не требуется
Прогрессивное замедление перебора паролей (brute force) по e-mail/имени пользователя (authGuard) — 10 неудачных попыток за 5 минут ведут к нарастающей задержке, от 30 — к блокировке.
Идемпотентный: Нет
Параметры
identifier(body, string, обязательно)— Адрес электронной почты или имя пользователяpassword(body, string, обязательно)— ПарольПример запроса
{"identifier":"user@example.com","password":"ВашПароль"}Пример ответа
{"ok":true,"token":"<JWT, действует 12 ч>","refreshToken":"<Refresh-токен, действует 7 дней, одноразовый>","user":{"id":"...","tenant_id":"...","email":"user@example.com","role":"EMPLOYEE","roles":[],"permissions":[],"isMasterAdmin":false}}Коды ошибок
401 INVALID_CREDENTIALS — Неверный адрес электронной почты/имя пользователя или пароль.429 RATE_LIMIT_EXCEEDED — Слишком много неудачных попыток для этого идентификатора или IP-адреса.Подтверждение живого теста
Успех (200, настоящий JWT + refresh-токен) и негативный случай (401 при неверном пароле) проверены вживую на изолированном тестовом стеке.