auth-service (C4 Level 3)
Ответственность
- Регистрация и login (email/password)
- Guest token issuance
- Telegram Login Widget verification
- JWT access/refresh
- Привязка
telegram_id ↔ user_id
Компоненты
flowchart TB
subgraph auth_service [auth-service]
API[Auth API Router]
GuestHandler[Guest Token Handler]
JWTService[JWT Service]
TGVerifier[Telegram OAuth Verifier]
UserRepo[User Repository]
PasswordHasher[Password Hasher]
end
API --> GuestHandler
API --> JWTService
API --> TGVerifier
API --> UserRepo
UserRepo --> PG[(PostgreSQL)]
PasswordHasher --> UserRepo
| Компонент |
Описание |
| Auth API Router |
FastAPI routes /auth/* |
| Guest Token Handler |
UUID guest_id + signed token, TTL 24h |
| JWT Service |
HS256/RS256, access 15m, refresh 7d |
| Telegram OAuth Verifier |
HMAC check hash от Telegram Login |
| User Repository |
SQLAlchemy CRUD users |
| Password Hasher |
bcrypt |
Данные
| Таблица |
Ключевые поля |
users |
id, email, password_hash, telegram_id, created_at |
refresh_tokens |
id, user_id, token_hash, expires_at |
События
FR
FR-007, FR-008, FR-009, FR-021–FR-024