Кроссдоменная авторизация

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
faeton
Сообщения: 88
Зарегистрирован: 2011.06.06, 01:00

Кроссдоменная авторизация

Сообщение faeton »

Стала задача кроссдоменной авторизации
Количество доменов может изменяться, база пользователей одна, двиг физически один

Есть такая идея:

Авторизация и логин на мастер-сайте

На второстепенных серверах проверять наличие SID в кукисах в базе данных
Если SID есть в БД - все ок, узер есть
Если SID нет в БД то

Вариант 1: редирект на главный сервер с обратным адресом, проверка SIDа на мастере и если есть то задать для SIDа второстепенного сайта необходимые параметры типа UserID, затем редирект назад
Вариант 2: невидимая картинка с мастер-сайта в GETах которой SID второстепенного сайта, на мастере проверка SIDа на мастере и если есть то задать для SIDа второстепенного сайта необходимые параметры типа UserID

Плюсы/Минусы

В1: минусы - куча редиректов: подозрительно, если нет куки или бот то зацикливание, а значит строим костыли, неизвестно что с SEO
В2: минус - в отличии от В1 результат авторизации будет заметен только на следующей странице, и вопрос безопасности передачи SIDа

Как думаете что лучше? Все ли факторы я учел?
Изображение
Аватара пользователя
Koduc
Сообщения: 140
Зарегистрирован: 2011.02.15, 18:56

Re: Кроссдоменная авторизация

Сообщение Koduc »

Получилось что-то сделать? столкнулся с подобным вопросом, но доменов у меня может быть неограничено много. Пока по всему получается что это проблемно сделать вменяемым способом..
Хотя.. Ставить куку для всей зоны .ru и затем проверять нужное значение? Такое, интересно, возможно?
Разработка на Yii: monoray.ru
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
Аватара пользователя
Koduc
Сообщения: 140
Зарегистрирован: 2011.02.15, 18:56

Re: Кроссдоменная авторизация

Сообщение Koduc »

В конечном итоге извернулся и сделал иначе. Блок информации для пользователя подгружаю через js с основного сервера, на нем же проверки на авторизацию и прочее. Если не авторизован - то блок не рисуется, если авторизован - подгружаем js, который отрисовывает всё, что необходимо. То есть авторизации на дочерних сайтах как таковой нет, но хватило такого решения.
Разработка на Yii: monoray.ru
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
Ответить