Единый вход для сайтов, размещенных на другом домене - PullRequest
0 голосов
/ 17 февраля 2020

это Эмон. У меня 2 сайта, и оба встроены в PHP. Теперь я пытаюсь присоединиться к этим двум веб-сайтам mywebsite.com и mywebsite.live, чтобы мои пользователи могли войти на mywebsite.com и щелкнуть значок в реальном времени, связанный с mywebsite.live, и сразу же войдет в систему. так как для клиентов было бы удобнее всего один раз войти в систему, и они могут перемещаться между сайтами.

Как мне создать единый знак на странице для входа на обе стороны? Для ie: если мои пользователи войдут в mywebsite.com и нажмут значок в реальном времени (у меня уже есть значок в реальном времени, который перенаправляет на mywebsite.live), мои пользователи перейдут на mywebsite.live и автоматически войдут в систему как тот же пользователь. Пожалуйста, помогите мне здесь. Спасибо

1 Ответ

0 голосов
/ 17 февраля 2020

Решение SSO, которое я здесь реализовал, работает следующим образом:

Существует главный домен, login.mydomain.com со скриптом

master_login. php, который управляет logins.

У каждого клиентского домена есть сценарий client_login. php

Все домены имеют общую базу данных сеансов пользователей.

Когда клиентский домен требует, чтобы пользователь был войдя в систему, он перенаправляет на главный домен

(login.mydomain.com/master_login.php). Если пользователь не выполнил вход

в мастер, он запрашивает у пользователя аутентификацию (ie. Отобразить страницу входа в систему).

После аутентификации пользователя он создает сеанс в базе данных. , Если пользователь

уже аутентифицирован, он ищет его идентификатор сеанса в базе данных.

Главный домен возвращается в домен клиента (client.mydomain.com/client_login.php), передавая его. ID сеанса.

. Клиентский домен создает Cook ie, сохраняя идентификатор сеанса от мастера. Клиент может узнать зарегистрированного пользователя, запросив общую базу данных, используя идентификатор сеанса. Примечания:

Идентификатор сеанса - это уникальный глобальный идентификатор, сгенерированный по алгоритму из RF. C 4122. Master_login. enter code herephp будет перенаправлять только на домены в своем белом списке. Мастер и клиенты могут находиться в разных домены верхнего уровня. Например. client1.ab c .com, client2.xyz.com, login.mydomain.com

...