- Verschifft
- 15. Juni 2026 um 18:58 UTC
- Autor
- kamo
- Ausschuss
- 896ea51
Die Session-ID lebte in einem Browser-Cookie über alle Registerkarten von einem geteilt -Ursprung, so dass ein zweiter Tab (Imitation) seine eigene Sitzung nicht halten konnte. Verschieben Sie den Träger auf sessionStorage (per-tab): - sessionClient: Token-Helfer + ein globaler Fetch-Wrapper, der die id als X-***-Token auf gleicher Herkunft /api Anrufe, plus eine einmalige Cookie-'sessionStorage Migration. Installiert über SessionBootstrap im Layout. - ************ Kopf-erster (Cookie Fallback) verwendet von generieren-otk, Sitzung/info, Sitzung/extend, logout, meet/invite-email. - generierenOTK + getKsemIdFromRequest bevorzugen X-***-Token dem Cookie. - /api/validate setzt kein *** Cookie mehr; gibt die ID und die /validate Seite speichert es in diesem Tab sessionStorage. - verwenden SieUserInfo + alle WebSocket-Hämme lesen die ID von sessionStorage. - Logout erfasst das Token vor dem Clearing Speicher, so dass die Redis-Sitzung wird immer noch für ungültig erklärt. Imitation jetzt öffnet /validate?otk=... in einem neuen Tab (gleicher Pfad als Login: Redis-Sitzung erstellte Server-Seite, OTK an /validate übergeben; neue Registerkarte erhält seine eigene Sitzung und die Admin-Tab ist unberührt. Entfernt die veralte keepPrev/ImpersonationBanner Return-to-Admin Maschinen. Orgs bleiben durch Domäne getrennt - unverändert.