我有一个.NET 4.5.2 Web应用程序,我需要在其中跨站点上下文传递身份验证cookie。我通过将其附加到Path来设置SameSite = None。
FormsAuthentication.SetAuthCookie(myUser, false, $"{FormsAuthentication.FormsCookiePath}; SameSite=None; Secure");
,
某些浏览器与SameSite = None(https://www.chromium.org/updates/same-site/incompatible-clients)不兼容,因此我必须排除它以支持那些浏览器:
FormsAuthentication.SetAuthCookie(myUser, false, FormsAuthentication.FormsCookiePath);
在两种情况下,.NET都会在Cookie中添加SameSite =“ Lax”,因此在第一种情况下,Set-Cookie标头看起来像:]]
AC7.AUTH=ABC; path=/; SameSite=None; secure; HttpOnly; SameSite=Lax
在第二种情况下:
AC7.AUTH=ABC; path=/; HttpOnly; SameSite=Lax
这似乎是在我们安装Microsoft的KB4530689安全更新时引入的。我们卸载了该更新,并将其还原为不向所有cookie附加“ SameSite = Lax”。我不确定如何长期缓解此问题,如果Microsoft打算在较旧版本的.NET中使用此行为,或者是否有其他解决方案我只是看不到。任何帮助表示赞赏。
我有一个.NET 4.5.2 Web应用程序,我需要在其中跨站点上下文传递身份验证cookie。我通过将其附加到Path FormsAuthentication.SetAuthCookie(...