当我们是IdentityProvider时,如何将我们的用户转移到合作伙伴的网站,我们已经在ASP.NET中启动了handhsake

时间:2013-10-30 13:12:28

标签: asp.net saml-2.0

我们希望将访问我们网站的访问者发送到业务合作伙伴的网站。访问者到达我们的网站,浏览一段时间,然后她可以点击特定链接,要求将她发送到我们合作伙伴的网站以查看特定资源。合作伙伴需要签署SAML20断言。在这种情况下,我们是身份提供者。我们正在开始握手。我们的用户不会首先访问合作伙伴的网站。

当我们的最终目标是让我们的用户在合作伙伴的网站上阅读合作伙伴的html页面之一时,我们使用什么机制将签名的断言发布到合作伙伴的网站URL,然后将我们的用户传达给合作伙伴的URL ?

我们是否必须将断言属性注入隐藏的表单元素并将javascript submit()动作注入到表单的onload事件中,使合作伙伴的URL成为提交目标?这被认为是“最佳做法”吗?

或者我们实例化一个发布断言的HttpWebRequest?如果是这样,那么呢?在向他们发布断言后,我们如何让用户访问合作伙伴的网站?

1 个答案:

答案 0 :(得分:2)

您应该使用SAML Specifications的“绑定”部分中描述的Http Post绑定。

基本上,它是一个隐藏字段的表单,可以通过javascript自动发布到合作伙伴网站的断言消费者服务网址。

一旦合作伙伴的断言消费者服务消耗了saml断言,合作伙伴的网站应该将用户重定向到正确的页面。除了saml断言之外,该标准还允许使用自定义字段,这样就可以告知合作伙伴的站点在完成身份验证时应该将用户重定向到哪个位置。