2016-10-10 4 views
0

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

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

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

authtype shibboleth 
ShibRequestSetting requireSession 1 
require valid-user 

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

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

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

Error Message: Error decoding authentication request message 

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

Спасибо.

Беста, Стивен

+0

Почти наверняка цикл перенаправления. Я изменил DocumentRoot виртуального хоста -/var/www/vhost/candy - и поместил там файл .htaccess, специфичный для Shibboleth. Папка Symfony находится в/var/www/vhost/candy/bar, и если я укажу свой браузер на «candy/bar/web /», я пройду шаг Shibboleth, а затем в приложение Symfony. –

ответ

0

Если я хорошо понимаю, вы пытаетесь сделать Service Provider участия в Symfony и у вас уже есть МВА работы с Шибболетом.

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

<ApplicationDefaults entityID="https://sso/saml2/idp/metadata.php" 

    REMOTE_USER="mail" 

    homeURL="https://symfonyApp/redirect/after/login"> 

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

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

Смежные вопросы