Авторизация

Источник требований

Сотрудники франшизы входят в бэк-офис по email и паролю. После входа система показывает только те разделы и данные, к которым сотрудник имеет доступ.

Зависимость: ADR-004

Реализация заблокирована — нужен BR по сотрудникам (таблица employees, CRUD).


Кто входит

РольДоступ в админке
ФраншизаВидит всё: все ЮЛ, все ТТ, весь каталог, все отчёты
ФранчайзиТолько свои ЮЛ и торговые точки
Менеджер ТТТолько свою торговую точку
КассирНе входит в админку (работает через POS)

Роль задаётся при создании сотрудника.


Логин

  • Сотрудник открывает страницу логина
  • Вводит email и пароль
  • Нажимает “Войти”
  • Система определяет роль и перенаправляет на Dashboard

Сессия

  • После входа сотрудник остаётся залогиненным не менее 30 дней
  • Закрытие браузера не завершает сессию
  • Сессия обновляется автоматически и незаметно (refresh token)
  • Если сессия истекла — перенаправление на страницу логина

Выход

  • Кнопка “Выйти” в правом верхнем углу (в шапке)
  • При нажатии: сессия завершается, перенаправление на логин
  • После выхода автоматический вход невозможен — нужен email+пароль

Восстановление пароля

  1. На странице логина ссылка “Забыли пароль?”
  2. Форма: ввод email
  3. На email приходит письмо со ссылкой для сброса (через Resend)
  4. Сотрудник переходит по ссылке → форма “Новый пароль”
  5. Вводит новый пароль дважды → готово, можно входить
  • Ссылка действует 1 час
  • После использования — перестаёт работать

Безопасность

Неверный пароль

  • Сообщение: “Неверный email или пароль” (без уточнения что именно неверно)
  • После 5 неудачных попыток подряд — аккаунт блокируется на 15 минут
  • Сообщение: “Слишком много попыток. Попробуйте через 15 минут.”

Деактивированный сотрудник

  • Войти невозможно
  • Сообщение: “Учётная запись деактивирована. Обратитесь к администратору.”

Приостановленное ЮЛ

Отложено — отдельная задача

Логика неоднозначна по ролям: franchise не привязан к ЮЛ, manager — к ТТ. Требует интеграции Auth → User → Store. Будет реализовано отдельной BR после базовой авторизации.

  • Войти можно, но с предупреждением что ТТ не работают
  • Сотрудник может просматривать данные, но не совершать операции на приостановленных ТТ

Что НЕ входит

  • PIN-авторизация кассиров (POS, отдельная задача)
  • Авторизация клиентов (SMS/Telegram/Flash-call, сайт/приложение)
  • Двухфакторная аутентификация (не в MVP)
  • Смена пароля в настройках (отдельная задача)
  • Регистрация (сотрудников создаёт франшиза/франчайзи)

Ссылки