Прозрачный единый вход на нескольких сайтах - PullRequest
4 голосов
/ 01 ноября 2010

У меня есть сеть сайтов.Некоторые из них как субдомены, а другие как домены.Я хочу создать центральное место входа для всех моих пользователей, например http://login.example.com/, где они могут войти. У меня есть ссылка для входа на все сайты, на которые пользователь может нажать, чтобы войти. Если они войдут один раз,они также должны быть прозрачно подключены ко всем другим сайтам.Я также хотел бы, чтобы они выходили из системы по всей сети, если они выходят из системы на одном сайте. Я не хочу отправлять их обратно на http://login.example.com/, когда они переходят на другой сайт сети.Возможно ли это реализовать?Может ли oAuth или OpenId помочь мне с этим?Как я могу реализовать такое решение ссылочно в Python с использованием Django?Возможно ли реализовать это безопасно без использования SSL?

Ответы [ 2 ]

2 голосов
/ 01 ноября 2010

Вот один пример того, как это может работать. Когда в систему входит редактор Википедии (en.wikipedia.org), изображения загружаются с родственных сайтов Википедии, таких как Викисловарь (en.wiktionary.org), Викиновости (en.wikinews.org) и другие. URL-адреса изображений содержат строки запросов в виде токенов, которые подтверждают, что пользователь вошел в систему, и, таким образом, сервер может устанавливать файлы cookie на всех основных доменах, которые ему необходимы (работая как отслеживание пользователей в рекламных сетях).

Создайте аккаунт в Википедии, если хотите увидеть его в действии. Подсказка: в Википедии есть много разных сайтов для разных языков, но ей нужно всего лишь установить один файл cookie для себя, потому что все разные языки являются поддоменами в одном домене (wikipedia.org).

1 голос
/ 01 ноября 2010

Когда пользователь успешно вошел в систему, поместите формы автоматической отправки, которые регистрируют его на всех других сайтах, нацеленных на фреймы, на страницу, которую он видит дальше.В качестве альтернативы, если идентификатор сеанса действителен для всех доменов, поместите изображения на странице, которую он видит, рядом с URL-адресами, такими как «domain5.example.org/setcookie?cookie=65277af767fea», которые возвращают заголовки Set-Cookie-заголовков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...