Daj nowej karcie sesję, zamiast takiej, która odbija się do logowania

Fixkamo-internal
Shipped
28 sierpnia 2026 02:59 UTC
Author
Kamo
Commit
ce4d901

"Otwórz w nowej zakładce" to "window.open(location.href, '_blank', 'noopener,noreferrer')'. Sesja id nie znajduje się w pliku cookie – żyje w sessionStorage, na zakładkę, ponieważ Organizacje bez domeny własnego udostępniania jednego hosta i pierwotnego pliku cookie Byłby pojedynczym slotem, który może nadpisać zakładkę. "window.open" dziedzictwo-clones the Przespać wymokal tylko wtedy, gdy relacja otwierająca się przetrwa, i „noopener” (impliowane Na łyżeczka też) to właśnie to kreśli. Nowa zakładka zaczęła się zatem od Pusty sklep, nie znalazł sesji i odbił się na stronie logowania. Wyglądało na to, że działa, ponieważ został uratowany: zakładka wylądowała na logowaniu. W przypadku, gdy autologin odczytał plik cookie tylko hosta i przewiózł go z powrotem do Org. Usunięcie tego do przodu jest tym, co to odsłoniło, więc przycisk jest raczej zamocowany niż przywrócony przekierowanie – nigdy nie niósł własnej sesji. Teraz używa tego samego jednorazowego uścisku dłoni, co każde inne wejście z płyty krzyżowej: open O: ocieka synchronicznie wewnątrz kliknięcia (oczekiwanie na pierwsze przesadzenie przemijające Aktywacja i WebKit blokuje wyskakujące okienko), miętuje OTK, a następnie przejdź do /validate Z bieżącą stroną w "next". OTK rozwiązuje tę samą sesję, więc nowa Zakładka jest naprawdę innym przypadkiem tego samego orgumentu, z której została otwarta. "newtab" jest zarejestrowany jako cel OTK. Niewymienny cel nie jest Odrzucony — po cichu spada z powrotem do TTL 10s, na którym /api/validate nie może polegać Przetrwanie, ponieważ odczytuje klucz z powrotem z Redis REPLICA i retries Obciążenie replikacji przed aplikacją nawet buty. Trzy rzeczy, przed którymi ostrzegały notatki z drugiego okna i to się unika: klucz idzie dalej /walid z miejscem docelowym w "next", ponieważ krawędź przepisuje jakiekolwiek "otk" Prośba o /validate i odrzuca pierwotną ścieżkę; cel jest bezwzględnym adresem URL Utrzymywane w zmiennej, ponieważ dosłowne przypisane do ".location.href" nie powiedzie się check-client-navigation i Docker budują się razem z nim; i /validate jest Ścieżka przedsesją, więc nie podpisze świeżej karty, gdy jest nieautentyczna.

All changes

Jak to, co widzisz żeglugę?

Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.

Start Free ForeverZobacz ceny