PD-240 — Expression de besoin¶
Contexte¶
L'application mobile ProbatioVault (PD-106) implémente un écran de suppression de compte avec confirmation renforcée et re-authentification. Le code mobile est prêt mais l'endpoint backend DELETE /user/account n'existe pas.
Problème¶
Actuellement, l'utilisateur ne peut pas supprimer son compte depuis l'application mobile car le backend ne fournit pas d'endpoint dédié.
Besoin¶
Implémenter l'endpoint DELETE /user/account permettant à un utilisateur authentifié de supprimer définitivement son compte après re-authentification.
Contraintes¶
- Authentification JWT obligatoire.
- Re-authentification obligatoire (reauth token PD-238) avant exécution.
- Suppression irréversible du compte Keycloak.
- Anonymisation/suppression des données utilisateur selon RGPD (article 17).
- Invalidation de toutes les sessions.
- Format d'erreur aligné sur le contrat PD-106 :
{error: "ERR-XXX-*", message: "..."}. - Le compte ne doit plus être utilisable après suppression.
Critères de succès¶
- L'endpoint
DELETE /user/accountest fonctionnel. - Le compte Keycloak est supprimé.
- Les données utilisateur sont anonymisées/purgées.
- Toutes les sessions sont invalidées.
- Une tentative de connexion ultérieure échoue.
- Les tests d'intégration PD-106 mobile passent.
Dépendances¶
- PD-238 (re-authentification) — DONE
- PD-26 (Keycloak OIDC) — DONE
- PD-106 (mobile, consommateur) — EN ATTENTE de ce endpoint
Références¶
- Epic : PD-182 AUTH
- Consommateur : PD-106-specification.md (F-106-07, INV-106-14, INV-106-15, CA-106-15, CA-106-16)
- JIRA : PD-240