Как работает множественная аутентификация Google

Знаете ли вы, как Google Doe аутентифицирует пользователей для нескольких доменов / служб с помощью всего одного входа? (Пожалуйста, не говорите просто SSO: D).

Что я имею в виду: когда пользователь заходит на translate.google.com и проходит аутентификацию здесь, он также регистрируется на google.com, gmail.com, youtube.com и т. Д. Как это работает? Основная проблема в том, что сессии / куки работают только для домена, в котором они были созданы.

Я думал о том, что для входа в систему пользователь перенаправляется на google.com и должен пройти аутентификацию там. Поэтому, когда он вошел в систему здесь, он также должен войти в систему для foo.google.com, bar.google.com …. (см. RFC 6265 — Набор файлов cookie для поддоменов)

Но это не имеет смысла, так как такие домены, как youtube.com, также работают. Также я посмотрел на перенаправления с Firebug и нет google.com.

Смотрите перевод Firebug здесь: http://www.noppen-lehrgang.de/data/goog.png

Также вот список файлов cookie, которые Google устанавливает при первом посещении и после входа в систему: noppen-lehrgang.de/data/goog2.png

У меня есть веб-сайт на PHP, который доступен через разные домены и хотел бы иметь эту функциональность (используемый домен влияет на контент). Я видел такие скрипты, как multidomain-sso (https://github.com/0k/multidomain-sso), который делает AJAX-вызовы для генерации сеансов для всех необходимых доменов. Но это выглядит грязно, особенно когда количество доменов растет.

У кого-нибудь есть опыт с этим? Я уверен, что это как-то связано с SSO … но при исследовании я вижу только такие вещи, как oAuth и openID, которые, как представляется, являются решением для связи со сторонними API-интерфейсами в целом.

Спасибо за вашу помощь и время! Герти

4

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …