一尘不染

如何实现SAML SSO

java

SAML SSO通常是如何实现的?

我读过有关使用SAML与谷歌企业应用套件(NB过时),并在维基百科条目SAML

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

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

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

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


阅读 460

收藏
2020-12-03

共1个答案

一尘不染

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

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

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

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

2020-12-03