[Majeur] PATCH /me/password renvoie 500 alors que le mot de passe est bien changé #111

Closed
opened 2026-10-28 10:32:06 +00:00 by asventi · 0 comments
Owner

Gravité : Majeur
Rapports QA d'origine : PROFILE-04

NullReferenceException quand la session n'a plus de refresh token.

Détails des rapports

[PROFILE-04] Changement de mot de passe : réponse 500 (NullReferenceException) alors que le mot de passe EST modifié, quand la session n'a plus de refresh token — Gravité : Majeur
  • Où : PATCH /api/me/password
  • Étapes : 1. Se connecter 2 fois avec le même user (session A et B ; le 2e login remplace la ligne RefreshToken de A). 2. Session B : GET /api/auth/logout (supprime la ligne). 3. Session A (access token encore valide <10 min) : PATCH /api/me/password {"password":<actuel>,"newPassword":"new-pass-1234"}.
  • Attendu : 200, mot de passe changé, cookies supprimés (ou erreur claire sans effet de bord).
  • Obtenu : 500 System.NullReferenceException: problem is null ; MAIS le mot de passe a bien été changé (login avec l'ancien -> 406, avec le nouveau -> 200). Cookies de A non supprimés. L'UI affichera une erreur alors que l'opération a réussi.
  • Cause probable : backend/API/Users/Me/Update/UpdateMePassEndpoint.cs:31-35 : LogoutQuery renvoie NotFound (Auth/Logout/LogoutQuery.cs) puis return result.Problem; (au lieu de res.Problem) -> Problem nul.

Trouvé par une campagne de tests QA automatisés (agents Claude, Playwright) sur l'environnement de dev. Les captures citées sont locales et non jointes.

**Gravité :** Majeur **Rapports QA d'origine :** PROFILE-04 NullReferenceException quand la session n'a plus de refresh token. ## Détails des rapports <details><summary>[PROFILE-04] Changement de mot de passe : réponse 500 (NullReferenceException) alors que le mot de passe EST modifié, quand la session n'a plus de refresh token — Gravité : Majeur</summary> - Où : `PATCH /api/me/password` - Étapes : 1. Se connecter 2 fois avec le même user (session A et B ; le 2e login remplace la ligne RefreshToken de A). 2. Session B : `GET /api/auth/logout` (supprime la ligne). 3. Session A (access token encore valide <10 min) : `PATCH /api/me/password {"password":<actuel>,"newPassword":"new-pass-1234"}`. - Attendu : 200, mot de passe changé, cookies supprimés (ou erreur claire sans effet de bord). - Obtenu : 500 `System.NullReferenceException: problem is null` ; MAIS le mot de passe a bien été changé (login avec l'ancien -> 406, avec le nouveau -> 200). Cookies de A non supprimés. L'UI affichera une erreur alors que l'opération a réussi. - Cause probable : `backend/API/Users/Me/Update/UpdateMePassEndpoint.cs:31-35` : `LogoutQuery` renvoie NotFound (`Auth/Logout/LogoutQuery.cs`) puis `return result.Problem;` (au lieu de `res.Problem`) -> Problem nul. </details> --- _Trouvé par une campagne de tests QA automatisés (agents Claude, Playwright) sur l'environnement de dev. Les captures citées sont locales et non jointes._
asventi self-assigned this 2026-10-29 16:50:27 +00:00
asventi stopped working 2026-10-29 16:59:29 +00:00
7 minutes 12 seconds
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Total time spent: 7 minutes 12 seconds
asventi
7 minutes 12 seconds
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Transcendence/backend#111
No description provided.