Имеется несколько веб-проектов. Предположим, что домены
https://site1.ru,
https://site2.ru и
https://site3.ru. Необходимо их связать. Пройдя авторизацию в site1.ru, пользователь должен автоматически становиться залогиненным и на других проектах.
Предполагаю, что мы делаем центр аутентификации (например
https://auth.ru ) с всей информацией о пользователях.
Далее используем следующую схему:
с
https://site1.ru передается логин, пароль на сервер авторизации. В случае успешной проверки данных на auth.ru - генерируем id сессии и дергаем на каждом из проектов скрипт (с проверкой домена сервера, с которого пришел запрос), который в свою очередь установит httponly куку с переданным id. В сессию пишем уникальный key['value'], которым потом проверяем, живая ли еще авторизация.
Для пущего эффекта - раз в N минут регенерируем мастер-токен и рассылаем всем проектам, которым уже солим передаваемые от сайта серверу авторизации данные.
Что я мог упустить и где есть слабые места в этом решении? Спасибо.