客户已使用我们的PHP网络应用程序多年,但现在需要单点登录解决方案(SSO)。
他们有一个登录的公司内部网,他们希望使用相同的登录作为我们的网络应用程序(位于外部域)的自动身份验证。
他们谈论SAML 2.0,这是我从未听说过的。
我搜索了互联网,但很难理解所有不同的概念(身份提供者等)。所有关于该主题的网站似乎都需要一些我没有的基本知识。我不明白如何以及在何处存储身份验证数据...(在cookie的后期数据中,似乎,但是如何在第一次开始执行此操作时获得身份验证xml?)< / p>
对于这种具体情况,有人可以指点我某些方向吗?
答案 0 :(得分:4)
这是一个关于SAML的高级概述视频,可以让您了解全局:http://youtu.be/gUmMcecHN9s
如果您想要更多技术介绍,我建议正式执行摘要:http://www.oasis-open.org/committees/download.php/13525/sstc-saml-exec-overview-2.0-cd-01-2col.pdf
它的基础是通常将数字签名的XML数据块从IdP(身份提供者)传递到SP(服务提供者),以告知用户已经过身份验证,并且应该信任它们。在IdP和SP之间需要进行带外初始设置以相互信任并同意将共享哪些信息(用户ID,属性等)。
要使SAML 2.0正常运行,有很多选项 - 包括商业选项(如Ping身份 - http://www.pingidentity.com/),这些选项非常棒,可以为您节省大量精力并提供商业支持。还有其他选择,比如建立自己的或使用开源库 - 只要你有更多的时间在手上,这是一次性的问题。