mirror of
https://github.com/azaion/admin.git
synced 2026-06-21 11:51:09 +00:00
a77b3f8a59
Refreshes _docs/02_document/ to reflect the cycle-2 auth-modernization
+ CMMC hardening landings (AZ-531..AZ-538). Authoritative source for
the ripple set is ripple_log_cycle2.md.
Covered:
- architecture.md (section 1 rewritten, ADRs 6-9 added)
- data_model.md (sessions, audit_events, user columns, migrations)
- system-flows.md (F1 rewritten; F11-F17 added; F2/F7/F9 minor)
- module-layout.md (cycle-2 sub-component table)
- diagrams/flows/flow_login.md (dual-token + MFA)
- components/{01_data_layer,03_auth_and_security,05_admin_api}
- modules/ (12 new, 8 modified — full Argon2id/ES256/MFA/refresh
/mission/session/audit/jwks rollup)
- tests/{blackbox,security,traceability-matrix}
Step 13 (Update Docs) output for cycle 2.
Co-authored-by: Cursor <cursoragent@cursor.com>
1.3 KiB
1.3 KiB
Module: Azaion.Common.Requests.LoginRequest
Purpose
Request DTO for the /login endpoint.
Cycle 2 (2026-05-14) note — the
/loginresponse shape changed (AZ-531 added refresh tokens; AZ-534 added the MFA two-step branch), but the request body is unchanged. The new response DTOs live in companion files: seecommon_requests_login_response.md(LoginResponse,RefreshTokenRequest) andcommon_requests_mfa_requests.md(MfaRequiredResponse,MfaLoginRequest). TheTokenlegacy single-token response is preserved viaLoginResponse.Tokenfor backward compatibility.
Public Interface
| Property | Type | Description |
|---|---|---|
Email |
string |
User's email address |
Password |
string |
User's plaintext password |
Internal Logic
None — pure data class. No FluentValidation validator defined for this request.
Dependencies
None.
Consumers
Program.cs/loginendpoint — receives as request body; the response is eitherLoginResponse(no MFA) orMfaRequiredResponse(MFA enabled)UserService.ValidateUser— accepts as parameter; throws lockout/rate-limit/wrong-password/disabled exceptions per AZ-537 + AZ-536
Data Models
None.
Configuration
None.
External Integrations
None.
Security
Carries plaintext password; must only be transmitted over HTTPS.
Tests
None.