- Dikirim
- 15 Juni 2026 pukul 18.58 UTC
- Penulis
- kamo
- Commit
- 896ea51
Id sesi tinggal di cookie browser bersama di seluruh tab dari sebuah asal, sehingga tab kedua (peniruan) tidak dapat menahan sesi sendiri. Pindahkan pembawa ke sesi Penyimpanan (per- tab): - sesionClient: token helpers + a global fetch wrapper yang menempel id sebagai X- * * -Token pada same- asal / api panggilan, ditambah satu-waktu cookie- > sesionStorage migrasi. Dipasang melalui SessionBootstrap di tata letak. - * * * * * * * * * * * * * header-first (cookie fallback) digunakan oleh generasi- otk, session / info, session / expand, logout, meet / invite- email. - generate OTK + getKsemIdFromRequest lebih suka X- * * * -Token atas cookie. - / api / validate tidak lagi menset a * * cookie; mengembalikan id dan / validasi halaman menyimpannya di tab ini sesionStorage. - useUserInfo + all WebSocket kait membaca id dari sesionStorage. - Logout menangkap token sebelum membersihkan penyimpanan sehingga sesi Redis masih kebal. Peniruan sekarang hanya membuka / memvalidasi? otk =... dalam tab baru (jalur yang sama sebagai login: sesi Redis dibuat server-side, OTK diserahkan ke / validate); tab baru mendapat sesi sendiri dan tab admin tidak tersentuh. Menghilangkan Forte Prev / ImpersonationBanner sudah usang kembali- ke -admin mesin. Orgs tetap dipisahkan oleh domain - tidak berubah.