[Cosmétique] RefreshToken.ExpireAt n'est jamais appliqué (2 min à l'inscription) #136

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

Gravité : Cosmétique
Rapports QA d'origine : AUTH-25

Détails des rapports

[AUTH-25] `RefreshToken.ExpireAt` (2 min à l'inscription, 7 j au login) n'est jamais appliqué : donnée morte et trompeuse — Gravité : Cosmétique
  • Où : RegisterUserCommand.cs:64, RefreshTokensCommand.cs
  • Constaté : un user fraîchement inscrit n'est PAS déconnecté au bout de 2-3 min : GET /me 200 à t+30 s / 130 s / 200 s, et GET /auth/refresh -> 200 à t+200 s (alors que la ligne DB avait ExpireAt = now+2 min). Seul l'exp du JWT (7 j) compte ; RefreshToken n'étant pas IExpirable, les refresh de sessions abandonnées ne sont jamais purgés.

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é :** Cosmétique **Rapports QA d'origine :** AUTH-25 ## Détails des rapports <details><summary>[AUTH-25] `RefreshToken.ExpireAt` (2 min à l'inscription, 7 j au login) n'est jamais appliqué : donnée morte et trompeuse — Gravité : Cosmétique</summary> - Où : `RegisterUserCommand.cs:64`, `RefreshTokensCommand.cs` - Constaté : un user fraîchement inscrit n'est PAS déconnecté au bout de 2-3 min : `GET /me` 200 à t+30 s / 130 s / 200 s, et `GET /auth/refresh` -> 200 à t+200 s (alors que la ligne DB avait `ExpireAt = now+2 min`). Seul l'`exp` du JWT (7 j) compte ; `RefreshToken` n'étant pas `IExpirable`, les refresh de sessions abandonnées ne sont jamais purgés. </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._
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
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#136
No description provided.