Как реализовать SSO на разных доменах?

Пример - хабр + тостер + tmtm.ru как сервер авторизации.
Как реализовать для сайтов на одном поддомене - понятно: генерируем токен, ставим в куку на *.domain.com и таким образом шарим токен между другими поддоменами.
Как передавать этот токен, когда домен отличается и запихнуть его в куку нельзя?
  • Вопрос задан
  • 3613 просмотров
Решения вопроса 1
MonkAlbino
@MonkAlbino
Фронтенд разработчик
На Тостере нажал на Вход, у меня открылась страница
https://id.tmtm.ru/login/?consumer=toster&state=%data1%

После ввода логин-пароля меня пересылает на страницу
https://toster.ru/auth/ac_callback?token=%data2%&s...

а оттуда уже на
toster.ru


Принцип такой:
Подсайт смотрит по своей (или общей базе) по вашим кукам авторизованы ли вы. Если "да", то показываем вам сайт и ваш профиль. Если "нет" или куки не правильны, то посылает в единый центр авторизации. Там вас аутентифицируют, дают какую-то свою куку, чтобы в следующий раз не проверять, и возвращают в узел проверки на целевом подсайте. Тот проверяет вас и полученные токены, если всё верно, то даёт куку к себе.

P.S. Всегда путал авторизацию и аутентификацию, поэтому мог где-то ошибиться.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы