使用SAML和PHP入门

28

我开始为一个项目添加SAML单点登录支持,并正在寻找专门针对PHP的任何有用资源。我了解基本概念并已查找任何可帮助的库,但是没有找到。我找到的唯一东西是simpleSAMLphp,似乎是整个堆栈。

如何将SAML集成到现有项目中?如果涉及Zend Framework建议会得到额外的分数!


1
Google的第一页指向这个已过时且未被回答的问题。最好的选择现在完全可以在Packagist中找到:https://packagist.org/search/?q=saml,并显示与几个框架的集成。在我看来,simpleSAMLphp有点过度杀手,不是最好的库,但比其他库更可定制-取决于你的用例。 - Osvaldo Mercado
1
@OsvaldoM。已经有7个答案了,你可以添加第8个答案。 - Mike B
5个回答

14

我认为SimpleSAMLPHP是将您的应用程序变成完整的SAML 2.0服务提供商的最佳选择。它确实是一个完整的堆栈,但您可以将其功能缩小到最少。

从我的经验来看,与Shibboleth相比,配置要简单得多。在分发包中附带的配置网站使此步骤更加简化。

对每个PHP页面的影响相对较小:http://simplesamlphp.org/docs/1.8/simplesamlphp-sp#section_6

这是我们在Zend环境中选择的解决方案。


6
我们在一个项目中使用了OneLogin的PHP-SAML工具包,该项目使用了非透明代理(simpleSAMLphp不喜欢不知道它托管的URL)。它支持最基本的登录,但SAML 2.0是一个庞大的规范,可能不支持您想要的功能(例如,它不支持对身份验证请求进行签名)。

3
现在,Onelogin的php-saml工具包支持签名/加密。请查看。 - smartin

4

虽然不是针对PHP的解决方案,但也许Shibboleth能成为您接受的解决方案——它支持Apache和IIS,并且可以与任何Web框架(Java/PHP/ASP.NET)一起使用。此外,它还作为Web服务器的过滤器插件,因此您的应用程序将需要最少(如果有的话)的修改才能使用它。


4
我们使用了SamlSpBundle,发现它非常可配置且适用于Symfony2。如果你不在Symfony2框架上,可以考虑其基础库lightsaml,它是一个独立的库。

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接