application.commands.handlers.generate_auth_tokens_handler¶
src.application.commands.handlers.generate_auth_tokens_handler
¶
Generate auth tokens handler.
Single responsibility: Generate JWT access token and opaque refresh token. Does NOT authenticate users or create sessions (CQRS separation).
Flow: 1. Generate JWT access token (15 minutes) 2. Generate opaque refresh token (30 days) 3. Persist refresh token hash to database 4. Return tokens to caller
Architecture: - Application layer ONLY imports from domain layer (entities, protocols, events) - NO infrastructure imports (services are injected via protocols) - Handler orchestrates token generation without knowing implementation details
Classes¶
GenerateAuthTokensHandler
¶
Handler for auth token generation command.
Single responsibility: Generate and persist authentication tokens. Called after successful authentication and session creation.
Follows hexagonal architecture: - Application layer (this handler) - Domain layer (protocols for token services) - Infrastructure layer (JWT service, refresh token service via DI)
Source code in src/application/commands/handlers/generate_auth_tokens_handler.py
Functions¶
__init__
¶
__init__(
token_service: TokenGenerationProtocol,
refresh_token_service: RefreshTokenServiceProtocol,
refresh_token_repo: RefreshTokenRepository,
security_config_repo: SecurityConfigRepository,
) -> None
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
token_service
|
TokenGenerationProtocol
|
JWT access token generation service. |
required |
refresh_token_service
|
RefreshTokenServiceProtocol
|
Opaque refresh token generation service. |
required |
refresh_token_repo
|
RefreshTokenRepository
|
Refresh token repository for persistence. |
required |
security_config_repo
|
SecurityConfigRepository
|
Security config repository for token versioning. |
required |
Source code in src/application/commands/handlers/generate_auth_tokens_handler.py
handle
async
¶
Handle auth token generation command.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cmd
|
GenerateAuthTokens
|
GenerateAuthTokens command with user_id, email, roles, session_id. |
required |
Returns:
| Type | Description |
|---|---|
Result[AuthTokens, str]
|
Success(AuthTokens) with access_token and refresh_token. |
Side Effects
- Persists refresh token hash to database.