FEAT: Codes de récupération 2FA (10 codes à l'enrôlement) #12
Labels
No labels
bug
chore
design
dx:ci
dx:database
dx:dotnet
dx:infra
dx:security
dx:tests
dx:ui
etape-1
etape-2
etape-3
etape-4
etape-5
etape-6
etape-7
feature
priority-high
priority-low
priority-medium
security
spec
tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nonobis/Heimdall#12
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
🎯 Contexte
La spec classe les codes de récupération 2FA en P0 (mesure de sécurité). Ils ne sont pas implémentés :
grep RecoveryCode→ 0 occurrence.📚 Référence spec (MASTER_SPECIFICATION.md v2.0)
4.3 Mesures de Sécurité : « 2FA TOTP — Récupération : 10 codes de secours à l'enrôlement » (P0)
Phase 5 : « 2FA TOTP + 10 codes de récupération »
Phase 9 : « 10 codes de récupération générés à l'enrôlement 2FA »
🔍 État actuel (vérifié dans le code)
2FA TOTP fonctionnel (Enable2fa/Verify2fa/Disable2fa via Identity). Aucun code de récupération généré, stocké, affiché ou vérifié.
🧩 À faire
🧪 Critères d'acceptation
make testvert📁 Fichiers concernés
src/Heimdall.Application/Auth/Commands/Enable2fa/, src/Heimdall.Web/Controllers/AuthController.cs, src/Heimdall.Web/Components/Pages/Profile.razor