我有一个与 ACS / ADFS 集成的应用程序。我的行为很奇怪。
我正在注销用户,放弃会话,并使用 Cleanup 参数重定向到 ACS。
用户有效地从 ADFS 和 ACS 注销,但在返回应用程序时,重定向到回复参数,用户仍登录应用程序。
WIF 代码不再执行,并且不存在令牌,只有 IClaimsPrincipal 仍然存在并且 Session 也存在。
有人听说过这种行为或类似的东西吗?
谢谢
虽然这应该由框架在内部执行,但我发现手动清除 ACS Cookie 可以解决问题。
WSFederationAuthenticationModule fam = FederatedAuthentication.WSFederationAuthenticationModule;
string famResult = WSFederationAuthenticationModule.GetFederationPassiveSignOutUrl(fam.Issuer, fam.Reply, null);
fam.FederationConfiguration.CookieHandler.Delete();
问题解决了。
谢谢大家。