Добавление аутентификации Shibboleth в Symfony

Я занимаюсь разработкой приложения Symfony (изучаю Symfony с целью замены им существующего PHP-скрипта «старой школы»), и у меня возникла проблема с его «отстранением» от аутентификации Shibboleth.

Зачем это делать? Для этого приложения мне нужен $ _SERVER [‘REMOTE_USER’]. Приложение не имеет локальных учетных записей, пользователь не входит в приложение, но, как и многие ресурсы, мы защищаем их с помощью некоторой формы аутентификации.

У меня есть два сайта — виртуальные хосты, работающие на одном физическом сервере. (CentOS 7). Первый сайт имеет в своем файле .htaccess следующее:

authtype shibboleth
ShibRequestSetting requireSession 1
require valid-user

У меня там тоже есть файл «phpinfo.php», и я могу запустить этот скрипт и после шага аутентификации Shibboleth получить вывод, содержащий правильное значение REMOTE_USER.

Другой виртуальный хост настроен как приложение Symfony 3.1. Я добавил эти три строки в верхнюю часть его файла .htaccess, но после прохождения этапа аутентификации Shibboleth браузер зацикливается и не идет дальше. (В Chrome «favicon» заменяется петлевой стрелкой, и он никогда не останавливается.)

Если я нажимаю и затем просматриваю источник этой все еще пустой страницы, я вижу следующее сообщение об ошибке:

Error Message: Error decoding authentication request message

Я не уверен, как начать решать эту проблему, и надеялся, что кто-то видел это и знает, как помочь.

Благодарю.

Лучший,
Стивен

0

Решение

Если я хорошо понимаю, вы пытаетесь включить поставщика услуг в Symfony, и у вас уже есть IDP, работающий с Shibboleth.

В моем случае у меня также была похожая проблема, и это было потому, что после утверждения apache SP возвращался к корневому URL. После прочтения большого количества документации я узнал, что, если это не так, вы можете добавить в конфигурацию shibbolet2.xml атрибут homeURL:

 <ApplicationDefaults entityID="https://sso/saml2/idp/metadata.php"
REMOTE_USER="mail"
homeURL="https://symfonyApp/redirect/after/login">

Попробуйте и перезапустите демон shib: /etc/init.d/shibd restart

Это может быть и другой. Но мне кажется, что в вашей стороне SP есть некоторая неверная конфигурация.

0

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

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

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