SSO на нескольких сайтах (несколько баз данных)

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

Я использую общий сервер Linux на GoDaddy, где у меня есть два сайта PHP с отдельными именами пользователей, проходящими аутентификацию с двумя отдельными базами данных MySQL. Я хотел бы, чтобы пользователь зашел на сайт 1, а затем автоматически вошел на сайт 2. И когда они выйдут из любого сайта, они должны выйти из обоих сайтов.

В настоящее время у меня установлен SimpleSAMLphp, и я очень признателен за некоторые рекомендации по настройке IdP и SP. Правильно ли я считаю, что Сайт 1 и Сайт 2 являются SP?

Любое руководство будет с благодарностью, это моя первая установка единого входа, и я немного растерялся.

3

Решение

Для реализации единого входа вам нужно что-то общее на обоих сайтах для аутентификации. Куки-файлы не помогут, так как есть два разных сайта, и нехорошо размещать ваши куки-файлы на другом сайте.

В общем, SSO реализован с использованием центрального serevr, который в основном обрабатывает данные аутентификации.

Основные шаги заключаются в следующем:

  1. Для входа в систему пользователь перенаправляется на общий сервер и проверяются учетные данные.

  2. Центральный сервер устанавливает cookie для входа в систему.

  3. Когда вашему другому веб-сайту требуется вход в систему, он снова проверяет центральный сервер с помощью перенаправления.

  4. Затем центральный сервер проверяет файлы cookie и аутентифицирует их или перенаправляет на страницу входа, если это не было подтверждено ранее.

Таким образом, вы можете настроить центральный сервер аутентификации, который проверяет аутентификацию и предоставляет соответствующий ответ, и оба веб-сайта обрабатывают ее соответствующим образом.

Но центральному серверу нужна общая пользовательская база данных, которой в вашем случае вам явно не хватает. Таким образом, вы можете объявить один из веб-сайтов центральным или основным ресурсом и предоставить API-интерфейсы для другого веб-сайта, который предоставит свою пользовательскую базу для проверки деталей.

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

В теории есть что рассказать, но надеюсь, что это поможет.

Полезные ссылки:

  1. Построение и внедрение решения единой регистрации

  2. Основы единого входа (SSO)

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]