简体   繁体   English

ADFS 3.0单一注销与依赖方STS

[英]ADFS 3.0 Single Sign Out with Relying Party STS

I am implementing Single Sign Out functionality. 我正在实施单点注销功能。 My setup is: ASP.NET Relying Party <-> Relying Party STS <-> SAML2 STS. 我的设置是:ASP.NET依赖方< - >依赖方STS < - > SAML2 STS。 SAML2 STS has user directory. SAML2 STS具有用户目录。 I am using ADFS 3.0 for Relying Party STS. 我正在使用ADFS 3.0 for Relying Party STS。 ASP.NET Relying Party communicates with Relying Party STS using WS-Federation protocol and Relying Party STS communicates with SAML2 STS via SAML2 protocol. ASP.NET依赖方使用WS-Federation协议与依赖方STS通信,依赖方STS通过SAML2协议与SAML2 STS通信。

The behavior I am trying to implement is Single Sign Out functionality. 我试图实现的行为是单点注销功能。 When user sign off from ASP.NET application, ASP.NET application sends sign off request to Relying Party STS using FS-Federation protocol. 当用户从ASP.NET应用程序注销时,ASP.NET应用程序使用FS-Federation协议向依赖方STS发送签名请求。 Relying Party STS forwards sign out request to SAML2 STS using SAML2 protocol first time. 依赖方STS首次使用SAML2协议向SAML2 STS转发请求。 But if user logs in immediately back and logout again, Relying Party doesn't forward sign out request to SAML2 STS. 但是,如果用户立即登录并再次注销,则依赖方不会将注销请求转发给SAML2 STS。 Instead of forwarding sign out request to SAML2 STS, user sees Logged out pages of Relying Party STS (ADFS 3.0). 用户看到依赖方STS(ADFS 3.0)的已注销页面,而不是向SAML2 STS转发注销请求。 It seems like ADFS 3.0 maintain MSISSignoutProtocol cookie for 10 minutes and until that cookie is not expired, it doesn't forward sign out request to SAML2 STS. 似乎ADFS 3.0维护MSISSignoutProtocol cookie 10分钟,直到该cookie未过期,它不会将签出请求转发给SAML2 STS。

How can I fix this issue? 我该如何解决这个问题? I want user to get redirected to SAML2 STS by Relying Party STS (ADFS 3.0) always when user logs out. 我希望用户在用户注销时始终通过依赖方STS(ADFS 3.0)重定向到SAML2 STS。 Is there any configuration available to override the behavior that I am seeing on ADFS 3.0? 是否有任何配置可以覆盖我在ADFS 3.0上看到的行为?

In your web app, what is the signout URL set to? 在您的网络应用中,注销网址设置为什么? To work properly with ADFS 3.0 it should be 要正常使用ADFS 3.0,它应该是

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

For ADFS 2.0 it used to be 对于过去的ADFS 2.0

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

but that causes the behavior you described: it sets the MSISSignOutProtocol cookie which then prevents the MSISAuth cookie from being deleted and keeps the session active. 但这会导致您描述的行为:它设置MSISSignOutProtocol cookie,然后阻止MSISAuth cookie被删除并使会话保持活动状态。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM