【问题标题】:WS FEDERATION AUTHENTICATION MODULE Signout in ASPNET not clearing/expiring session cookiesWS FEDERATION AUTHENTICATION MODULE 在 ASPNET 中注销未清除/过期会话 cookie
【发布时间】:2020-03-20 23:49:32
【问题描述】:

根据文档-https://docs.microsoft.com/en-us/dotnet/api/system.identitymodel.services.wsfederationauthenticationmodule.signout?view=netframework-4.8#System_IdentityModel_Services_WSFederationAuthenticationModule_SignOut_System_Boolean_https://docs.microsoft.com/en-us/dotnet/api/system.identitymodel.services.sessionauthenticationmodule.signout?view=netframework-4.8 应该清除应用程序中的所有会话。但是在调用 WSFederationAuthenticationModule .SignOut(true) 和 SessionAuthenticationModule.SignOut() 之后,这些会话仍然有效。我正在使用 .NET Framework 4.5。

要使 cookie 配置 SameSite=none 必须使 cookie 安全,我们已在 Web.config 文件中完成。但是 WS Fed Authentication Sign out 没有按照文档清除会话。参考-https://support.okta.com/help/s/article/FAQ-How-Chrome-80-Update-for-SameSite-by-default-Potentially-Impacts-Your-Okta-Environment.

我认为这是由于 .NET Framework 的错误 WS FED 模块造成的。任何帮助深表感谢。谢谢。

【问题讨论】:

    标签: asp.net-mvc authorization session-cookies okta ws-federation


    【解决方案1】:

    只是为了帮助其他人解决同样的问题。

    您必须更改“No SameSite”规则以检查“安全”标志。像这样:

    <add input="{RESPONSE_Set_Cookie}" pattern="; secure" />
    

    这是因为 WSFederation 会在不添加安全标志且没有安全标志的情况下清除 cookie,chrome 会忽略设置的 cookie 请求以清除 cookie。

    您无需执行任何其他操作,例如手动清除/设置 cookie,只需使用 WSFederationAuthenticationModule 提供的 SignOut() 方法即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      • 2019-07-31
      • 2019-10-11
      • 2019-03-16
      • 2015-03-03
      相关资源
      最近更新 更多