@maksam07

Как авторизовавшись на одном сайте в «сети сайтов», быть автоматически авторизованным и на других?

Добрый день. Вопрос не совсем о OAuth2. Самый банальный пример на гугле. Ты можешь в поисковике войти в свой аккаунт, но при открытии почты/ютуба/и т.д. ты везде становишься авторизованным автоматически. Хотя это все разные домены, скорее всего и на разных серверах. Есть ли какая-то простая схема связи между сайтами, чтобы при авторизации на одном из, ты считался авторизованным на всех?
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
Vamp
@Vamp
Видел однажды такую реализацию.

При успешном прохождении авторизации кидает на страницу, где через тег img подключается "картинка" с каждого домена, участвующего в sso тусовке.

<h2>Вы успешно вошли</h2>
<img src="https://example.com/auth.php?key=1hB7fa014bbXCDg920">
<img src="https://example.net/auth.php?key=hVVFD41looas8730MM">
<img src="https://example.org/auth.php?key=QnaVBhj7mqwaBK9xq6">

При авторизации создаётся и записывается в базу пачка одноразовых временных токенов, привязанных к только что авторизованному пользователю. При загрузке auth.php проверяется этот токен (передается через key в примере выше) и если токен ещё не просрочился, то выдаётся однопиксельный прозрачный gif с авторизационным кукисом. Этот кукис привязывается к домену, с которого загружается картинка.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы