Переносить *** в сеансе per-tab Хранение вместо совместного файла cookie

Featurekamo-internal
Порезанный
15 июня 2026 г. в 18:58 UTC
Автор
kamo
Обещать
896ea51

Id сеанса жил в файле cookie браузера, совместно используемом во всех вкладках Происхождение, поэтому вторая вкладка (имперсонация) не могла проводить собственную сессию. Переместить носитель в sessionStorage (per-tab): - sessionClient: токены-помощники + глобальная обертка, которая прикрепляет id как X-***-Token на вызовах того же происхождения /api, плюс одноразовый Cookie->sessionМиграция хранилища. Устанавливается через SessionBootstrap в макете. - **************** header-first (cookie fallback) generate-otk, session/info, session/extend, logout, meet/invite-email. - сгенерироватьOTK + getKsemIdFromRequest предпочитают X-***-токен печенью. - /api/validate больше не устанавливает *** cookie; возвращает идентификатор и Страница /validate хранит его в этой вкладке SessionStorage. - использовать UserInfo + все крюки WebSocket читать идентификатор из sessionStorage. - logout захватывает токен перед очисткой хранилища, поэтому сеанс Redis до сих пор недействительным. Impersonation now just opens /validate?otk=... in a new tab как логин: сеанс Redis создан на стороне сервера, OTK передан /validate; Новая вкладка получает свою собственную сессию, а вкладка администратора не тронута. Удалить The устаревшие механизмы возврата к администрированию KeepPrev/ImpersonationBanner. Органы остаются разделенными по домену — без изменений.

Все изменения

Как вы видите судоходство?

Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.

Начните бесплатно навсегдаПосмотреть цены