Temat: Skąd youtube wie, że jestem zalogowany

Wiem co to jest cross-domain authentication i rozumiem jak to działa ale tego co zrobiło google nie rozumiem.

1. Wchodzę na youtube.com - jestem niezalogowany
2. Wchodzę do Google Analytics - jestem niezalogowany, loguję się
3. Odświeżam youtube i nagle jestem zalogowany

Myślę sobie - jakiś trick z przekierowaniami, ciasteczkami itp. Zacząłem analizować temat.

1. Zdefiniowałem sobie w adblocku filtry, które blokują wywołania do domen googla, które pokazał mi Firebug. Zostawiłem tylko youtube.com i ytimg.com.
2. Najpierw wylogowałem się zewsząd
3. Przy nieaktywnych filtrach zalogowałem się do Google Analytics
4. Potem uaktywniłem filtry
5. Odświeżyłem youtuba... i co? Pokazał, że jestem zalogowany - bez odświeżeń, przekierowań, requestów do innych domen... niczego. Firebug nic nie pokazał.

Więc pytanie moje brzmi... jak on to robi? Ktoś próbował to rozkminić? Może natrafiliście na jakieś artykuły, które to opisują?

Do tej pory znalazłem tylko opis patentu, w którym jednak nie wdają się w szczegóły.

Usługi takie jak Google Analytics czy Gmail przekierowują na stronę w domenie account.google.com gdzie trzeba podać email i hasło. Klasyczne Cross-domain authentication. Logując się tam ustawiane jest cookie w domenie google.com.

Więc każda usługa musi odwołać się do tej domeny (ewentualnie subdomeny) żeby móc z tego skorzystać. Ale youtube tego nie robi. Nie odwołuje się a jednak loguje.

Kombinowałem nawet, że może dla potrzeb youtuba wystarcza jakaś prosta autoryzacja po stronie serwera nie wymagająca klasycznej sesji użytkownika (cookie sesji), oparta o IP, User agenta itp. Zmieniłem w locie User-agenta i dalej działa. Przyznam się, że nie mam już pomysłów.

Wujek Google mnie załatwił.

konto usunięte

Temat: Skąd youtube wie, że jestem zalogowany

Jak się wyśpię, to pośledzę ;) Faktycznie nie ma żadnych odwołań z klienta do google.com. Może google ads?
Piotr Ż.

Piotr Ż. Director of UX EMEA

Temat: Skąd youtube wie, że jestem zalogowany

e team od czasu gdy wszystkie uslugi googla sa tak naprawde jednym kontem ... zawsze logujesz sie tak naprawde w tosamo miejsce... [od 2009 roku]

ale jak chcesz powojowac - poczytaj np:
http://paulhammant.com/2011/11/22/google-accounts-arch...

ja tam nie jestme od server-side ale single sign jest powszechnie stosowany duuuuzych systemach o wielkim ruchu

konto usunięte

Temat: Skąd youtube wie, że jestem zalogowany

Piotr Żebrowski:
e team od czasu gdy wszystkie uslugi googla sa tak naprawde jednym kontem ... zawsze logujesz sie tak naprawde w tosamo miejsce... [od 2009 roku]

ale jak chcesz powojowac - poczytaj np:
http://paulhammant.com/2011/11/22/google-accounts-arch...

ja tam nie jestme od server-side ale single sign jest powszechnie stosowany duuuuzych systemach o wielkim ruchu

Tu nie chodzi o to, że one są jednym kontem, bo to wiadomo, tylko o to jak Gogle przekazuje informacje o tym, że wszedł na stronę gość zalogowany do usług googla.

konto usunięte

Temat: Skąd youtube wie, że jestem zalogowany

Dokładnie, to jest zwykłe SSO, nie ma tu czarnej magii ;)

konto usunięte

Temat: Skąd youtube wie, że jestem zalogowany

Logując się wysyłasz POSTa na https://accounts.google.com/ServiceLoginAuth a tam w ukrytych iframe ładowane są stronki z np. accounts.google.pl i accounts.youtube.com - dzięki czemu tworzy ciasteczko dla różnych domen.
Zaraz po kliknięciu Zaloguj, jak zobaczysz "Loading. Please wait..." wciśnij escape żeby zatrzymać przekierowanie, podgląd źródła lub lepiej w Firebugu :)

W Firefox zainstaluj sobie np. Live HTTP header żeby prześledzić requesty ;)

Temat: Skąd youtube wie, że jestem zalogowany

Maciej Fuławka:
Logując się wysyłasz POSTa na https://accounts.google.com/ServiceLoginAuth a tam w ukrytych iframe ładowane są stronki z np. accounts.google.pl i accounts.youtube.com - dzięki czemu tworzy ciasteczko dla różnych domen.

Skubane... spryciarze. Dzięki za wskazówkę. Przyznam się, że myślałem, że w http już niespecjalnie może mnie coś zaskoczyć. A tu proszę.

Następna dyskusja:

Skąd FaceBook wie kto jest...




Wyślij zaproszenie do