Я занимаюсь разработкой приложения 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
Я не уверен, как начать решать эту проблему, и надеялся, что кто-то видел это и знает, как помочь.
Благодарю.
Лучший,
Стивен
Если я хорошо понимаю, вы пытаетесь включить поставщика услуг в 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 есть некоторая неверная конфигурация.
Других решений пока нет …