This adds the Angular frontend for TOTP Multi-Factor Authentication.
Companion to DSpace/DSpace#12703 which implements the backend REST API
and JWT-based two-phase authentication flow.
Implementation overview
- NgRx actions/effects/reducer extensions for MFA state (mfaRequired, mfaVerifying, mfaError)
- MfaService for HTTP calls to backend MFA endpoints
- Login flow modification:
authenticateSuccess$ effect detects mfa_verified=false in JWT claims
- LogInMfaComponent: TOTP code and recovery code input during login
- ProfilePageMfaFormComponent: Full MFA lifecycle management (setup with QR provisioning URI, verify, disable, regenerate recovery codes)
- i18n keys for all MFA-related strings
User-facing changes
- Login page shows TOTP verification input after successful password authentication (when MFA enabled)
- Profile page gains a 'Two-Factor Authentication' card for setup/management
- Recovery code input available as fallback during login
Dependencies
This adds the Angular frontend for TOTP Multi-Factor Authentication.
Companion to DSpace/DSpace#12703 which implements the backend REST API
and JWT-based two-phase authentication flow.
Implementation overview
authenticateSuccess$effect detectsmfa_verified=falsein JWT claimsUser-facing changes
Dependencies