SSO - 如何从 Intranet (SAML 2.0) 自动登录到外部网站?
Posted
技术标签:
【中文标题】SSO - 如何从 Intranet (SAML 2.0) 自动登录到外部网站?【英文标题】:SSO - how to automatically log into an external website from an intranet (SAML 2.0)? 【发布时间】:2011-09-05 13:22:59 【问题描述】:一位客户多年来一直使用我们的 php Web 应用程序,但现在想要一个单点登录解决方案 (SSO)。
他们有一个公司内部网,他们可以在其中登录,并且他们希望使用相同的登录作为我们的网络应用程序(在外部域上)的自动身份验证。
他们谈论的是 SAML 2.0,我之前从未听说过。
我搜索了互联网,但很难理解所有不同的概念(身份提供商等)。所有关于该主题的网站似乎都需要一些我没有的基本知识。我不明白必须如何以及在何处存储身份验证数据......(似乎是在来自 cookie 的 post-data 中,但是第一次开始执行此操作时如何在任何地方获取身份验证 xml?!)
有人可以针对这种特定情况指出一些方向吗?
【问题讨论】:
【参考方案1】:这是一个关于 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 Identity -http://www.pingidentity.com/),它们非常棒,可以为您节省大量精力并提供商业支持。还有其他选择,例如构建您自己的库或使用开源库 - 只要您有更多时间在手上,而且这是一次性的问题。
【讨论】:
以上是关于SSO - 如何从 Intranet (SAML 2.0) 自动登录到外部网站?的主要内容,如果未能解决你的问题,请参考以下文章
SSO 和 IdentityServer 以及需要 SAML 和 JWT 的服务
如何在多租户环境中自动选择配置的 SAML 身份提供程序以使用 Spring SAML 进行 SSO
无法从使用 Azure SAML SSO 配置的本地应用程序中的 C# 中的 Request.Params 获取 SAML 响应