- Spegnimento
- 15 giugno 2026 alle ore 18:58 UTC
- Autore
- kamo
- Impegno
- 896ea51
La sessione id ha vissuto in un cookie del browser condiviso in tutte le schede di un origine, quindi una seconda scheda (impersonazione) non poteva tenere la propria sessione. Spostare il vettore a sessioneStorage (per-tab): - sessionClient: helper token + un wrapper fetch globale che allega il id as X-***-Token su chiamate /api di origine stessa, più una volta cookie->sessionMigrazione distorsione. Installato tramite SessionBootstrap nel layout. - **************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** genera-otk, sessione/info, sessione/esecuzione, logout, meet/invite-email. - generareOTK + getKsemIdFromRequest preferiscono X-***-Token sul cookie. - /api/validate non imposta più un *** cookie; restituisce l'id e il /validate pagina memorizza nella sessione di questa schedaStorage. - useUserInfo + tutti i ganci WebSocket leggere il id da sessionStorage. - logout cattura il token prima di svuotare lo storage in modo che la sessione Redis è ancora invalidata. Impersonation ora solo si apre /validate?otk=... in una nuova scheda (stesso percorso come login: Redis sessione creata lato server, OTK consegnato a /validate); nuova scheda ottiene la propria sessione e la scheda admin è intatta. Rimuove il manutenzione obsoletaPrev/ImpersonationBanner ritorno-admin macchinari. Org rimangono separati da dominio — invariato.