Files
admin/_docs/02_document/modules/common_requests_login_request.md
T
Oleksandr Bezdieniezhnykh a77b3f8a59 [AZ-529] [AZ-530] Cycle-2 documentation refresh
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>
2026-05-14 09:22:53 +03:00

1.3 KiB

Module: Azaion.Common.Requests.LoginRequest

Purpose

Request DTO for the /login endpoint.

Cycle 2 (2026-05-14) note — the /login response 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: see common_requests_login_response.md (LoginResponse, RefreshTokenRequest) and common_requests_mfa_requests.md (MfaRequiredResponse, MfaLoginRequest). The Token legacy single-token response is preserved via LoginResponse.Token for 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 /login endpoint — receives as request body; the response is either LoginResponse (no MFA) or MfaRequiredResponse (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.