- Navios
- 15 de junho de 2026 às 18:58 UTC
- Autor
- kamo
- Enviar
- 896ea51
O ID da sessão viveu num cookie de navegador partilhado em todas as páginas de um origem, então uma segunda aba (ipersonation) não pôde realizar sua própria sessão. Mover o operador para a sessãoStorage (per-tab): - sessionClient: token helpers + uma embalagem global de busca que liga o id como X-***-Token em chamadas de mesma origem /api, mais uma vez cookie->sessãoMigração de armazenamento. Instalado via SessionBootstrap em layout. - * **************** header-first (cookie fallback) usado por gerar-otk, sessão/info, sessão/extend, logout, meet/invite-email. - generateOTK + getKsemldFromPedido prefira X-***-Token em vez do cookie. - /api/validate já não define um cookie ***; devolve o ID e o /validate page guarda-o na sessão desta páginaStorage. - useUserInfo + todos os ganchos WebSocket ler o id da sessãoStorage. - logout captura o token antes de limpar o armazenamento para que a sessão Redis ainda está invalidado. A personificação agora apenas abre /validate?otk=... em uma nova aba (mesmo caminho como login: Redis sessão criada servidor-side, OTK entregue para /validate); o a nova aba recebe sua própria sessão e a guia de administração está intocada. Remove o Manutenção obsoletasPrev/ImpersonationMáquina de retorno à administração. Os orgs permanecem separados por domínio — inalterados.