Начало работы с SAML и PHP

Я начинаю работу над добавлением поддержки SOML SSO в проект и ищу любые полезные ресурсы, специально предназначенные для PHP. Я понимаю основные понятия и трюк для любых библиотек, которые могли бы помочь, но вышли пустым. Единственное, что я нашел, это simpleSAMLphp, который представляет собой целый стек.

Любые советы по интеграции SAML в существующий проект? Бонусные баллы за предложения, связанные с Zend-Framework!

Я думаю, что SimpleSAMLPHP – это способ сделать ваше приложение действительным как полноценный поставщик услуг SAML 2.0. Это действительно полный стек, но вы можете ограничить функциональность до минимума.

По моему опыту, конфигурация намного проще, чем с Shibboleth. Этот шаг упрощается с веб-сайта конфигурации, который поставляется с дистрибутивом.

Влияние на каждую страницу PHP относительно невелико: http://simplesamlphp.org/docs/1.8/simplesamlphp-sp#section_6

Это решение, которое мы выбрали для нашей среды Zend.

Мы использовали инструментарий PHP-SAML от OneLogin для проекта, который работал с непроверенными прокси-серверами (simpleSAMLphp не любил не знать URL-адрес, на котором он был размещен).

Он прост, поддерживая самый простой логин, но SAML 2.0 – это огромная спецификация, и он может не поддерживать то, что вы хотите от него (например, он не поддерживает подписывание запросов на аутентификацию).

Хотя это не специфическое для PHP решение, возможно, Shibboleth станет для вас приемлемым решением – он поддерживает как Apache, так и IIS и может использоваться с потенциально любой веб-картой – java / php / asp.net. Это также помогает, будучи плагином Filter на вашем веб-сервере, поэтому ваше приложение потребует минимальных (если есть) изменений для его использования

Мы использовали SamlSpBundle, с которым мы нашли вполне настраиваемый и дружественный Symfony2. Если вы не используете фреймворк Symfony2, вы можете посмотреть на его базовую библиотеку lightsaml, которая является автономной.

http://framework.zend.com/manual/en/zend.infocard.basics.html имеет SAML1.0, но с тех пор SAML движется дальше …