auth-service
Домен Идентификации и Доступа (IAD)
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-метод верификации и атомарной ротации токена, вызываемый шлюзом при обновлении.