- Expédié
- 15 juin 2026 à 18:58 UTC
- Auteur
- kamo
- Commite
- 896ea51
L'identifiant de session vivait dans un cookie de navigateur partagé à travers tous les onglets d'un l'origine, donc un deuxième onglet (impersonisation) ne pouvait pas tenir sa propre session. Passer le transporteur à la sessionEnregistrement (par tab): - sessionClient: les assistants de jetons - un emballage mondial qui relie le id en tant que jeton X-z-toyen sur les appels de même origine/api, plus une seule fois migration de stockage. Installé via SessionBootstrap en configuration. - En-tête d'abord (cookie repli) utilisé par g) générons, session/info, session/extension, déconnexion, rencontre/courrier d'information. - generateOTK et getKsemIdFromRequest préfèrent X-z-Token plutôt que le cookie. - /api/validate ne fixe plus un cookie; retourne l'identifiant et le /validate page la stocke dans la session de cet onglet. - utiliserUserInfo - tous les crochets WebSocket lisent l'id de sessionStorage. - la déconnexion capte le jeton avant d'évacuer le stockage afin que la session Redis est toujours invalidée. L'usurpation d'images maintenant s'ouvre tout simplement /valider?otk... dans un nouvel onglet (même voie en tant que login: Redis session créé côté serveur, OTK remis à /validate); Un nouvel onglet obtient sa propre session et l'onglet admin est intact. Élimine le keepPrev/ImpersonationBanner retour-to-admin machine. Les gogots restent séparés par domaine et inchangé.