Поделиться сеансом входа между разными сайтами с другим доменом - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть 3 веб-сайта, и необходимо, чтобы у каждого из них была своя форма входа, но я проверю одну и ту же базу данных, чтобы получить информацию о пользователе, у этих 3 веб-сайтов есть свои собственные домены. Я должен поделиться сессией, когда пользователь правильно входит в любую из форм входа в систему. Я читал о едином входе, поэтому на основании этого я планирую сделать следующее:

1. Атрибут действия каждой формы входа будет перенаправлен на центральный URL, который проверит, существует ли активный сеанс, выполняя что-то вроде:

session_start();

if(isset($_SESSION['userId'])){
   //session is already set
}else{
   //there's no session
   $username = $_POST['username'];
   $password = $_POST['password'];
   //search for this user in the database...
}

Если сеанса нет, он попытается найти пользователя с использованием предоставленных учетных данных, а затем начнет сеанс.

2.После установки активного сеанса Я перенаправлю на исходный URL (но здесь я не знаю, как я могу сообщить любому из веб-сайтов необходимые мне данные сеанса, такие как имя, имя пользователя и т. Д. c.).

Все веб-сайты используют PHP, и каждый из них находится на разных серверах, следую ли я правильному пути для этого подхода?

1 Ответ

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

Поскольку сеанс не будет продолжаться, если вы только что отправили запрос на публикацию (который я ранее неправильно предложил), есть другой способ сделать это.

Сначала создайте секретный ключ для каждого веб-сайта. И при правильном входе в систему, отправьте этот ключ в параметре get на исходный сайт. Если ключ совпадает, добавьте сеанс на исходный веб-сайт.

Но этот метод подвержен злонамеренному перехвату. Лучше всего было бы установить для параметра входа в систему в базе данных значение true при входе с центрального веб-сайта и проверить базу данных с исходного сайта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...