如何实施SAML SSO?

我已阅读有关在Google上使用SAML的(nb已废弃)应用程序以及 SAML 上的维基百科条目。

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

谷歌条目谈到使用重定向,这对我来说似乎更无聊。但是,它还讨论了使用用户必须提交的响应表单(尽管它确实讨论了使用JavaScript自动提交表单)。

这是标准的做法吗?使用重定向和JavaScript进行表单提交?

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

有帮助吗?

解决方案

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

用户必须单击任何内容才能提交表单,只有他们禁用了JavaScript。在这种情况下,SAML实现通常会提供一条消息,其中包含一个按下<noscript>标签的按钮。

有关详细信息,请参阅几年前我写的这篇文章 - 但请注意,'Lightbulb'现在已经过时了 - 对于PHP SAML,请参阅 simpleSAMLphp

您的客户希望使用CA SiteMinder - 开源 OpenAM (以前称为OpenSSO),这是一种耻辱)这很容易做到。

其他提示

这篇文章说明非常好。也有不同平台的例子。

如果Siteminder是依赖方,那么您需要编写自定义代理以获取SAML工件并创建SM会话。否则,您将需要购买已经构建此功能的产品。

SAML

您可以查看此图片链接以更好地了解SAML SSO。我也想给你一些链接。这些链接是公司的产品,并且有一个非常直观的SAML工作原理示例: - https:// www .codeultimate.com /产品/ SAML

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top