feat: MFA frontend with auth page restyling, challenge screen, and setup wizard
- Restyle organizer auth pages: Dutch text, remove placeholder social login - Restyle portal auth pages to Vuexy v1 centered card pattern with decorative shapes - MFA challenge card component with VOtpInput, method tabs, backup code input, trusted device checkbox, and session countdown timer - Login pages handle mfa_required response with device fingerprint header - Security settings page with TOTP setup (QR code), email setup, disable MFA, backup codes regeneration, and trusted devices management - Portal profile page includes MFA security section - Admin user detail page shows MFA status with reset button - MFA enforcement route guard redirects to security settings when required - Device fingerprint utility for trusted device identification - MFA types, composables with TanStack Query for both apps Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -40,6 +40,7 @@
|
||||
"ofetch": "1.5.0",
|
||||
"pinia": "3.0.3",
|
||||
"prismjs": "1.30.0",
|
||||
"qrcode": "^1.5.4",
|
||||
"roboto-fontface": "0.10.0",
|
||||
"shepherd.js": "13.0.3",
|
||||
"ufo": "1.6.1",
|
||||
@@ -84,6 +85,7 @@
|
||||
"@tiptap/extension-underline": "^2.27.1",
|
||||
"@types/mapbox-gl": "3.4.1",
|
||||
"@types/node": "24.9.2",
|
||||
"@types/qrcode": "^1.5.6",
|
||||
"@types/webfontloader": "1.6.38",
|
||||
"@typescript-eslint/eslint-plugin": "7.18.0",
|
||||
"@typescript-eslint/parser": "7.18.0",
|
||||
|
||||
Reference in New Issue
Block a user