Аутентификация на нескольких доменах - PullRequest
2 голосов
/ 11 января 2012

Я хочу иметь единый вход для следующих сайтов:

abc.com    
def.com

Я прочитал эту статью , в которой приведен очень простой пример того, как настроить единый вход с главным / подчиненным доменом.настроить.Хотя это было очень хорошее чтение, некоторые вопросы остаются без ответа.

abc.com будет основным сайтом, который выдает файл cookie для аутентификации.

Допустим, пользователь не авторизован ни на одном сайте.Если сайт abc.com, все, что мне нужно сделать, это проверить файл cookie для аутентификации, нет проблем.Если пользователь находится на def.com, пример в статье перенаправляет на abc.com и возвращает содержимое cookie (если оно есть) в качестве параметра запроса в еще одном перенаправлении.Если файл cookie содержит содержимое, файл cookie будет сохранен на def.com.

Проблемы:

  1. Каждая перезагрузка страницы на def.com вызывает 2 перенаправления, если локальный файл cookie не существует.
  2. Когда пользователь выходит из системы, необходимо удалить как главный, так и подчиненный файлы cookie, а также распространить их на любые другие подчиненные сайты.
  3. Когда пользователь входит в систему, я должен убедиться, что файл cookie установлен какна основных и подчиненных сайтах.

Меня особенно беспокоит пункт 1. Есть ли способ обойти это?

Я думал о том, чтобы все аутентификации были в ajax, но потомМне нужно перезагрузить страницу, если файл cookie авторизации возвращается с abc.com на def.com.Не очень приятное решение.

У кого-нибудь вообще есть лучшая архитектура?

РЕДАКТИРОВАТЬ

Записывание этого помогло мне, по крайней мере, некоторымСтепень решения проблемы.Если файлы cookie установлены для главного + всех подчиненных сайтов при входе в систему, точка 1 больше не является проблемой.

Вопрос по-прежнему открыт для всех, кто хочет улучшить решение.

...