fix(web): corrige la boucle de redirection infinie sur token expiré

Sur 401, l'intercepteur n'effaçait que le token localStorage mais pas le
cookie cesizen-auth lu par le middleware -> /connexion redirigeait vers
/dashboard à l'infini quand le JWT (60 min) expirait. On purge désormais
aussi le cookie et l'état Zustand persisté avant de rediriger.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Azmog
2026-06-19 15:45:59 +02:00
parent d5e11f93a9
commit 004b8a12df
+6
View File
@@ -31,7 +31,13 @@ api.interceptors.response.use(
typeof window !== 'undefined' && typeof window !== 'undefined' &&
!window.location.pathname.includes('/connexion') !window.location.pathname.includes('/connexion')
) { ) {
// Purge COMPLÈTE de l'auth pour éviter une boucle de redirection :
// le middleware lit le cookie `cesizen-auth` (état Zustand persisté) ;
// si on ne vide que le localStorage du token, il croit l'utilisateur
// encore connecté et renvoie /connexion -> /dashboard à l'infini.
localStorage.removeItem('cesizen_token'); localStorage.removeItem('cesizen_token');
localStorage.removeItem('cesizen-auth'); // état Zustand persisté
document.cookie = 'cesizen-auth=;path=/;max-age=0;SameSite=Lax';
window.location.href = '/connexion'; window.location.href = '/connexion';
} }
return Promise.reject(error); return Promise.reject(error);