auth-service

Домен Идентификации и Доступа (IAD)

Автор

Lead Systems Architect / FoodLifeCycle Core Team

Дата публикации

20 июля 2026 г.

auth-service

Обслуживает сессии, разграничение прав групп (HOME/OFFICE), ротацию токенов и кэш ошибок.

  • База данных: auth_db (PostgreSQL) + In-Memory Redis (Token Blacklist).

  • Интерфейсы (REST API):

    • POST /api/v1/auth/register — регистрация новой учетной записи пользователя. Валидация Pydantic-контракта, хэширование пароля через Argon2. Возвращает пару Access/Refresh в формате JSON.
    • POST /api/v1/auth/login — аутентификация пользователя. Проверка учетных данных, генерация JWT с упаковкой контекста группы.
    • POST /api/v1/auth/refresh — ротация сессии (Dual Token). Принимает current_refresh_token, проверяет TTL в базе, аннулирует старую пару и выдает новые Access и Refresh токены.
    • POST /api/v1/auth/logout — завершение сессии. Записывает текущий Access Token в Redis Blacklist с TTL жизни токена, деактивирует Refresh-сессию в auth_db.
    • GET /api/v1/auth/error-directory — динамическая отдача мобильному АРМ актуального реестра локализованных кодов ошибок (app_lang: ru/en) для холодного старта.
  • Интерфейсы (Внутренний gRPC):

    • rpc verifyAndRotate(RefreshTokenRequest) returns (TokenPairResponse) — gRPC-метод верификации и атомарной ротации токена, вызываемый шлюзом при обновлении.