ADFS 3.0单一注销与依赖方STS

时间:2015-09-02 15:51:02

标签: single-sign-on adfs adfs3.0

我正在实施单点注销功能。我的设置是:ASP.NET依赖方< - >依赖方STS< - > SAML2 STS。 SAML2 STS具有用户目录。我正在使用ADFS 3.0 for Relying Party STS。 ASP.NET依赖方使用WS-Federation协议与依赖方STS通信,依赖方STS通过SAML2协议与SAML2 STS通信。

我尝试实现的行为是单点注销功能。当用户从ASP.NET应用程序注销时,ASP.NET应用程序使用FS-Federation协议向依赖方STS发送签名请求。依赖方STS首次使用SAML2协议向SAML2 STS转发请求。但是,如果用户立即登录并再次注销,则依赖方不会将注销请求转发给SAML2 STS。用户看到依赖方STS(ADFS 3.0)的已注销页面,而不是向SAML2 STS转发注销请求。似乎ADFS 3.0维护MSISSignoutProtocol cookie 10分钟,直到该cookie未过期,它不会将签出请求转发给SAML2 STS。

如何解决此问题?我希望用户在用户注销时始终通过依赖方STS(ADFS 3.0)重定向到SAML2 STS。是否有任何配置可以覆盖我在ADFS 3.0上看到的行为?

1 个答案:

答案 0 :(得分:0)

在您的网络应用中,注销网址设置为什么?要正常使用ADFS 3.0,它应该是

https://fs.company.com/adfs/ls/idpinitiatedsignon.aspx

对于ADFS 2.0,它曾经是

https://fs.company.com/adfs/ls/?wa=wsignout1.0

但是这会导致您描述的行为:它设置MSISSignOutProtocol cookie,然后阻止MSISAuth cookie被删除并使会话保持活动状态。