私はプロジェクトにSAML SSOサポートを追加する作業を始めており、特にPHP向けの役立つリソースを探しています。私は基本的な概念を理解していて、助けになる可能性があるが空っぽになったライブラリを探し回っています。私が見つけた唯一のものは、スタック全体のように見える simpleSAMLphp です。
SAMLを既存のプロジェクトに統合するためのヒントはありますか? Zend-Framework関連の提案のボーナスポイント!
SimpleSAMLPHPは、アプリケーションを本格的なSAML 2.0サービスプロバイダーとして機能させるための方法だと思います。確かに完全なスタックですが、機能を最小限に絞ることができます。
私の経験から、構成はShibbolethを使用するよりもはるかに簡単です。このステップは、配布パッケージに同梱されている構成Webサイトを使用すると簡略化されます。
各PHP=ページへの影響は比較的小さいです: http://simplesamlphp.org/docs/1.8/simplesamlphp-sp#section_6
これは、Zend環境で選択したソリューションです。
非透過プロキシを使用して機能するプロジェクトに OneLoginのPHP-SAMLツールキット を使用しました(simpleSAMLphpは、ホストされているURLを知らないのが嫌いでした)。
最も基本的なログインをサポートするのは非常に単純ですが、SAML 2.0は巨大な仕様であり、そこから必要なものをサポートしない可能性があります(たとえば、認証リクエストへの署名をサポートしていません)。
PHP特定のソリューションではありませんが、多分 Shibboleth は受け入れられるソリューションです-ApacheとIISの両方をサポートし、可能性のあるすべてのWebフレームワーク-Java/php/asp.netで使用できます。これは、Webサーバーへのフィルタープラグインとしても役立ち、アプリケーションを使用するために最小限の変更(ある場合)が必要になります。
私たちは SamlSpBundle を使用しました。これは、非常に構成可能でSymfony2に対応していることがわかりました。 Symfony2フレームワークを使用していない場合は、その基本ライブラリ lightsaml を確認できます。これはスタンドアロンです。
http://framework.zend.com/manual/en/zend.infocard.basics.html はSAML1.0を持っていますが、SAMLはそれ以来進んでいます...