php - SSO - 如何从内部网(SAML 2.0)自动登录到外部网站?

标签 php single-sign-on saml-2.0

一位客户多年来一直使用我们的 PHP 网络应用程序,但现在想要一个单点登录解决方案 (SSO)。

他们有一个可以登录的公司内部网,他们希望使用相同的登录名作为我们网络应用程序(位于外部域)的自动身份验证。

他们谈论 SAML 2.0,这是我直到现在才听说过的。

我在互联网上搜索过,但很难理解所有不同的概念(身份提供者等)。所有关于该主题的网站似乎都需要一些我不具备的基本知识。我不明白必须如何以及在何处存储身份验证数据...(似乎是来自 cookie 的后数据,但是第一次开始这样做时如何在任何地方获取身份验证 xml?!)

有人可以针对这种特定情况为我指出一些方向吗?

最佳答案

这是一个关于 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 数据 block 从 IdP(身份提供者)传递到 SP(服务提供者),以告诉它用户已经通过身份验证并且他们应该被信任。 IdP 和 SP 之间需要进行带外初始设置,以相互信任并就共享哪些信息(用户 ID、属性等)达成一致。

要使 SAML 2.0 正常工作,有许多选项 - 包括商业选项(例如来自 Ping Identity - http://www.pingidentity.com/ ),这些选项很棒,可以节省您的精力并提供商业支持。还有其他选择,例如构建您自己的库或使用开源库 - 前提是您有更多时间,而且这是一次性问题。

关于php - SSO - 如何从内部网(SAML 2.0)自动登录到外部网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7308731/

相关文章:

codeigniter - vanilla/codeigniter 登录与 jsconnect/SSO 集成

asp.net - 在 asp.net 中使用 SAML2.0 进行 SSO

asp.net-core - 在 ASP.NET Core 中使用 Sustainsys.Saml2 动态添加 SAML2 身份验证提供程序

authentication - Ajax文件资源管理器: Avoid login popup (SSO)

java - 使用 JWT 的 Keycloak SSO 这可能吗?

asp.net-mvc - 使用 MVC 应用程序中的 Kentor 身份验证服务库将 Google 实现为身份提供者(IDP)?

php - 从 MySql 从表中获取数据作为主类别,另一个作为子类别

php - Cpanel xmlapi FileUpload 无法正常工作

javascript - jQuery .load 变量作为 url

javascript - 从 mysql 渲染复杂的 JSON 并使用列值作为标签