将 cookieSameSite="None" 添加到 SessionState,但 Cookie 的 SameSite 值仍然是 Lax(默认)

adding cookieSameSite="None" to SessionState however still the SameSite value for the Cookie is Lax (Default)

在我的 Web 应用程序中,我正在构建一个不同的 Web 应用程序。两个网络应用程序的域不同。

我在 iframed 网络应用程序的 web.config 中对 SessionState 进行了以下配置。

<system.web>
    <httpCookies httpOnlyCookies="true" requireSSL="true" sameSite="None"/>
    <httpRuntime requestValidationMode="4.7.2" maxQueryStringLength="512" maxUrlLength="512" enableVersionHeader="false" />
    <sessionState mode="Custom" cookieless="UseCookies" regenerateExpiredSessionId="true" timeout="245" cookieName="MYCOOKIE" cookieSameSite="None" customProvider="MyCustomSessionProvider">
      <providers>
        <!-- Custom provider details -->
      </providers>
    </sessionState>
    <compilation batch="false" debug="false" />
    <customErrors defaultRedirect="ErrorMessage.aspx" mode="On" />
</system.web>

当我加载页面时,iframed 页面的“MYCOOKIE”没有将 SameSite 设置为 none。因为 MYCOOKIE 不会在后续的 HTTP 请求中发送。

我正在使用 chrome(版本 86.0.4240.111(官方构建)(64 位))并启用了第三方 cookie。 IIS 版本 10.0 IIS 中安装的 .NET Framework 版本是 4.8.03761

有什么我遗漏的吗?

我之前遇到过同样的问题,在将框架升级到 4.7.2 后它无法正常工作。

修复: -- Windows 的所有安装都必须是 up-to-date,因为 SameSite="None" 带有一个特定的 Windows 更新。

看看:https://support.microsoft.com/en-us/help/4533011/kb4533011