BR 1.3 → Auth Service

Репозиторий: erp-auth-service Контракты: API, Data Model

Задачи

Инфраструктура

  • Инициализация проекта: Maven, Spring Boot 3, PostgreSQL, Redis, Liquibase
  • Liquibase: таблица refresh_tokens
  • Liquibase: таблица login_attempts
  • Liquibase: таблица password_reset_tokens

Эндпоинты

  • POST /api/v1/auth/login — валидация через User Service, генерация JWT (access + refresh)
  • POST /api/v1/auth/refresh — ротация refresh token
  • POST /api/v1/auth/logout — инвалидация refresh token
  • POST /api/v1/auth/forgot-password — генерация reset token, отправка email через Resend
  • POST /api/v1/auth/reset-password — установка нового пароля
  • POST /internal/auth/validate — валидация JWT для BFF/Gateway

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

  • Блокировка после 5 неудачных попыток (login_attempts, 15 мин)
  • Проверка деактивированного сотрудника (status=inactive → 403)
  • JWT подпись HS256 + shared JWT_SECRET

Интеграции

  • HTTP-клиент к User Service (validate-credentials, by-email, update-password)
  • HTTP-клиент к Resend API (отправка email, fallback: log link)
  • Redis: кэш сессий

Docker

  • Dockerfile + docker-compose.yml (PostgreSQL, Redis)