在 ASP.net MVC 应用程序中注销 ADFS 3.0

Signing out of ADFS 3.0 in ASP.net MVC app

在我的场景中,我有一个连接到远程 ADFS 服务器的 Web 应用程序。登录工作正常,并传递正确的 LDAP 属性。无法正常工作的是注销。

为了注销,我使用了以下几行,这当然有效,但只是作为删除网络应用程序 cookie 的一种措施,即 FedAuth cookie 而不是 STS cookie。

FormsAuthentication.SignOut();
FederatedAuthentication.SessionAuthenticationModule.SignOut();
FederatedAuthentication.SessionAuthenticationModule.DeleteSessionTokenCookie();

我的问题是:要删除 STS cookie 还需要做什么?

您需要使用:

WSFederationAuthenticationModule.FederatedSignOut 方法

这会发送一个 wsignout1.0,告诉 STS 删除 cookie。

(当然假设 WS-Fed)。