【问题标题】:How to implement SAML SSO [closed]如何实施 SAML SSO [关闭]
【发布时间】:2010-10-22 19:27:56
【问题描述】:

SAML SSO 通常是如何实现的?

我已阅读 this(注:已过时)关于将 SAML 与 Google Apps 结合使用,以及 SAML 上的维基百科条目。

维基百科条目讨论了使用包含 SAMLRequest 和 SAMLResponse 详细信息的表单进行响应。这是否意味着用户必须亲自提交表单才能继续单点登录?

谷歌条目谈到使用重定向,这对我来说似乎更不靠谱。然而,它也谈到了使用表单作为用户必须提交的响应(尽管它确实谈到了使用 JavaScript 自动提交表单)。

这是执行此操作的标准方式吗?使用重定向和 JavaScript 提交表单?

有没有人知道关于如何在 Windows 域和 J2EE Web 应用程序之间实现 SSO 的任何其他好的资源。 Web 应用程序位于单独的网络/域上。我的客户想要使用 CA Siteminder(带有 SAML)。

【问题讨论】:

    标签: java security single-sign-on saml


    【解决方案1】:

    如果 Siteminder 是依赖方,那么您需要编写一个自定义代理来获取 SAML 工件并创建一个 SM-Session。否则,您将需要购买已内置此功能的产品。

    【讨论】:

      【解决方案2】:

      其工作方式是,在对用户进行身份验证后,SAML 身份提供者 (IdP) 将包含 SAML 响应的表单呈现给浏览器 - 表单的“操作”(即目标)是服务提供者 (SP)。在 HTML 中,有一个提交表单的 JavaScript onLoad 事件,因此最终效果是用户被自动从 IdP 带到 SP,SAML 响应在手。

      用户必须点击任何内容来提交表单的唯一情况是他们禁用了 JavaScript。在这种情况下,SAML 实现通常会在 <noscript> 标记中提供带有按钮的消息。

      有关更多详细信息,请参阅 this article I wrote a few years ago - 但请注意,“灯泡”现在早已过时 - 对于 PHP SAML,请参阅 simpleSAMLphp

      很遗憾您的客户想要使用 CA SiteMinder - 开源 OpenAM(以前称为 OpenSSO)很容易做到这一点。

      【讨论】:

      • OpenSSO 已死,我相信它已经转世为 OpenAM
      • 你是对的,@TobyHobson。我编辑了我的答案。
      • 文章链接不再有效。它还在外面吗?谢谢。
      • 谢谢,@IcedD​​ante - 我更新了链接。
      • @JokiRuiz 你应该把它当作一个新问题——没有人会在这里看到它
      【解决方案3】:

      This article 解释的很好。也有针对不同平台的示例。

      【讨论】:

      • 是的,有发送 authrequest 的类,但没有接收请求、分析请求和发送响应的类。
      • 链接不存在。有更新吗?
      • @Jerry 我用来自 archive.org 的文章的缓存版本替换了损坏的链接
      猜你喜欢
      • 2023-03-10
      • 2022-08-17
      • 2016-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      相关资源
      最近更新 更多