SimpleSAMLphp IDP, SP, MediaWiki - PullRequest
       83

SimpleSAMLphp IDP, SP, MediaWiki

0 голосов
/ 09 января 2019

Итак, мой следующий проект. У нас есть специальный портал с собственной базой данных пользователей. Мы хотели использовать Wiki, поэтому я установил MediaWiki на отдельный поддомен. Наличие нескольких аккаунтов - это 1990 год, поэтому интеграция была желательной. Это было не так просто, как я надеялся. Поэтому мое решение было: Единая регистрация.

IDP

Шаг 1, установка SimpleSAMLphp в качестве IDP на поддомене sso.myportal.nu Создан мой собственный модуль, который ищет пользователей в моей базе данных. Вход в административный портал SimpleSAMLphp для проверки / проверки работоспособности выглядит великолепно (скриншот прилагается).

SP

Step2, установил SimpleSAMLphp в качестве SP на поддомен wiki.myportal.nu Подключил SP к моему IDP. Вход в портал администратора SimpleSAMLphp, чтобы проверить / проверить, работает ли он, выглядит великолепно. Я проходил аутентификацию через IDP в моей базе данных пользователей (скриншот прилагается).

* MediaWiki 1016 *

Затем установил два плагина в MediaWiki;

https://www.mediawiki.org/wiki/Extension:PluggableAuth https://www.mediawiki.org/wiki/Extension:SimpleSAMLphp

Это должно включить SSO.

При нажатии на ссылку «Вход» в MediaWiki меня перенаправляют на страницу входа в SimpleSAMLphp на sso.myportal.nu - пока все хорошо. Но, вопреки моим ожиданиям. Вход в систему не работает. Кажется, меня перенаправили между sso.myportal.nu и wiki.myportal.nu

Я включил режим DEBUG, единственное предупреждение, которое я вижу, это:

Could not load state specified by InResponseTo: NOSTATE Processing response as unsolicited.

У меня есть файлы конфигурации и файлы журналов обеих установок SimpleSAMLphp, прикрепленные ниже (слишком много текста для копирования / вставки здесь). файлы конфигурации и журнала После полутора дней просмотра в Google я немного застрял. У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 10 января 2019

Ну, после двух очень долгих ночей решение было найдено .

Прежде всего, если работает опция « Проверка настроенных источников аутентификации » на вкладке « Аутентификация » вашей SimpleSAMLphp ... Это не гарантирует, что она действительно будет работа.

В моем случае IDP и SP были на одном сервере. Разные субдомены. У меня были все настройки в config.php, поэтому не было одинаковых настроек для IDP и SP (имена файлов cookie, пароли и т. Д. И т. Д.).

Опция " Test сконфигурированных источников аутентификации " на вкладке " Authentication " моей SimpleSAMLphp сработала! Но MediaWiki все еще не сделал.

По-видимому, это также может быть вызвано несоответствием некоторых настроек в config.php по сравнению с php.ini

Я нашел ссылку на эту страницу в старом форуме Google , где упоминалось решение. Я не мог поверить, что это сработало, но был в отчаянии, поэтому попробовал.

Механизм хранения должен быть чем-то другим по умолчанию. В моем случае я подключил SimpleSAMLphp к базе данных MySQL (может быть sqlite или что-то еще).

'store.type'         => 'sql',
'store.sql.dsn'      => 'mysql:host=localhost;dbname=simplesamlStuff',
'store.sql.username' => 'simplesamlUser',
'store.sql.password' => '1234567980',
'store.sql.prefix'   => 'sso_',

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

Причина, по которой я не удаляю свой вопрос, но отвечаю себе ... Я надеюсь, что кто-то найдет этот пост и сочтет его полезным. Не тратя так много времени на это, как я.

...