Auth Service — оркестратор authentication flows. Он принимает внешние запросы через API Gateway, координирует проверку identity и credentials, при необходимости инициирует отправку кодов через Herald, а затем выдает assertion или другой промежуточный результат для Session Token service.
Ключевая роль:
- регистрация и вход пользователя;
- координация login и verification flows;
- подготовка данных для выпуска токенов;
- изоляция authentication logic от сервисов хранения identity и credentials.
Интерфейсы и связи:
- внешний протокол:
REST; - upstream:
API Gateway,Session Token service; - downstream:
Identity service,Credential service,Herald.
Разделы
- Код:
services/auth/auth-orchestrator/(planned) - Язык: Python (planned)
- Протокол: REST (public API)
- Приоритет: HIGH
- Владелец: Алексей Шалаев
- Статус: Planned
Ответственность
Orchestration Flows
- Registration Flow
- Принимает запрос регистрации от клиента
- Вызывает Identity service → создание User
- Вызывает Credential service → установка пароля
- Вызывает Herald → отправка welcome email
-
Возвращает assertion для Session Token service
-
Login Flow
- Принимает credentials (username/email + password)
- Вызывает Identity service → lookup User
- Вызывает Credential service → verify password
-
При успехе возвращает assertion для Session Token service
-
Verification Flow
- Инициирует верификацию через Identity service
- Вызывает Herald → отправка OTP кода
- Принимает OTP от клиента
- Вызывает Identity service → подтверждение верификации
Isolation
Auth Service изолирует: - Orchestration logic — от деталей хранения identity/credentials - Client protocols — REST API от внутренних gRPC сервисов - Flow coordination — от token issuance logic
Зависимости
Uses (downstream)
- Identity service — создание и lookup пользователей
- Credential service — установка и проверка паролей
- Herald — отправка кодов и уведомлений
Used by (upstream)
- API Gateway — маршрутизирует auth requests
- Session Token service — получает assertion для выдачи токенов
Паттерны (planned)
- Saga Pattern — координация распределенной транзакции (регистрация = User + Credential + Notification)
- Circuit Breaker — защита от падения downstream сервисов
- Idempotency — повторный запрос регистрации не создает дубликатов
Связанные страницы
Фичи
- Authentication Feature — продуктовое описание capability
Домен
- Identity Domain — доменная модель, используемая Auth Service
Архитектура
- Security Architecture / Authentication — роль в auth chain
- Integration Architecture / API Integrations — REST API контракты
- Data Flow / Online Data Flow — синхронный поток данных
Сервисы
- Identity service — canonical identity registry
- Credential service — хранение паролей
- Session Token service — выдача токенов
- Herald — уведомления
- API Gateway — entry point
Каталог
- Service Catalog — полный список сервисов