ASP.Net无法使用SameSite = None设置cookie

时间:2020-02-06 10:53:01

标签: asp.net firefox cookies .net-4.8

我在带有.NET Framework 4.8的IIS上使用MVC5。 我安装了最新的质量汇总(1),可以解决相同站点cookie的某些问题。

我创建了三个cookie,如下所示:

var now = DateTime.Now.ToLongTimeString();
var expiry = now.AddSeconds(30);

var cookieSameSiteNone = new HttpCookie("My.SameSite.None", $"sameSite None [{now}]")
{
    Secure = true,
    SameSite = SameSiteMode.None,
    Expires = expiry
};

var cookieSameSiteLax = new HttpCookie("My.SameSite.Lax", $"sameSite Lax [{now}]")
{
    Secure = true,
    SameSite = SameSiteMode.Lax,
    Expires = expiry
};

var cookieSameSiteStrict = new HttpCookie("My.SameSite.Strict", $"sameSite Strict [{now}]")
{
    Secure = true,
    SameSite = SameSiteMode.Strict,
    Expires = expiry
};

Response.Cookies.Add(cookieSameSiteStrict);
Response.Cookies.Add(cookieSameSiteLax);
Response.Cookies.Add(cookieSameSiteNone);

这些Cookie设置在Application_EndRequest的{​​{1}}中。该应用程序还使用OWIN进行身份验证。

使用FireFox(v72.0.2),我得到以下cookie:

Cookie View In FireFox Dev Tools

请注意,将SameSite设置为“无”的cookie收到为“未设置”

  • 是否知道如何使用SameSite = None设置cookie?

我还看到了其他SO问题,这些问题建议将补丁应用于.NET Framework(2),但我已经安装了这些

(1)https://support.microsoft.com/en-gb/help/4534132/kb4534132-cumulative-update-for-net-framework

(2)How to set SameSite cookie attribute to explicit None ASP NET Core

1 个答案:

答案 0 :(得分:1)

这可能是FireFox显示Cookies的问题。 Chrome似乎没有遇到相同的问题。 我已经记录了Mozilla(1)的错误。

(1)https://bugzilla.mozilla.org/show_bug.cgi?id=1613622