Aller au contenu

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/account est 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