Chrome 76将开始支持显式的SameSite: None
属性
https://web.dev/samesite-cookies-explained/
我发现ASP.NET Core的当前实现将SameSiteMode.None
视为无操作,并且不发送任何属性。如何为Cookie添加自定义属性,从而为Cookie文本添加显式SameSite: None
?
将属性附加到cookie值不能像HttpResponse.Cookies.Append url那样对cookie值进行编码。
答案 0 :(得分:2)
与ASP.NET Core中的ASP.NET中发生相同的问题。
在Microsoft提供修复程序之前,对我有用的黑客程序将取代
subdomain.example.com
使用
myCookie.Path = "/";
myCookie.SameSite = SameSiteMode.None; // has no effect
这会将myCookie.Path = "/; SameSite=None";
添加到HTTP响应的SameSite=None
标头中。
答案 1 :(得分:2)
现在已在所有版本的.NET Framework和.NET Core(https://github.com/aspnet/AspNetCore/issues/12125)的最新版本中修复
我有多个项目在.NET Core 2.2上运行,并且升级到2.2.207之后,我不再遇到问题了。
以下是ConfigureServices
文件的Startup.cs
方法中存在的示例代码
services.ConfigureApplicationCookie(options => {
options.Cookie.SameSite = SameSiteMode.None;
);
答案 2 :(得分:1)
response.Headers.Append("set-Cookie", $"{cookieName}={cookieValue}; path=/; SameSite=None; Secure");
似乎可以正常工作。
我通过在Chrome Dev 76中启用same-site-by-default-cookies
和cookies-without-same-site-must-be-secure
对此进行了测试
答案 3 :(得分:0)
自Microsoft在2019年12月10日提交最后一个知识库之后, 它应该在.net framework和dotnetcore中修复。
请参阅:
答案 4 :(得分:0)