我在浏览器控制台收到以下警告:
Cookie“mycookie”没有正确的“SameSite”属性值。 很快,没有“SameSite”属性或无效的 cookie 值将被视为“宽松”。这意味着 cookie 不会 不再在第三方环境中发送。如果您的应用依赖于 此 cookie 在此类情况下可用,请添加 “SameSite=None“属性。了解更多关于“SameSite“ 属性,阅读 https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite
我想在
example.com
的主域的生产服务器上的每次调用中发送 cookie。但我也希望能够在 localhost:3000 上进行测试。
我需要如何解决这个问题?
这是我的测试设置:
const cookieOptions = {
maxAge: 1000 * 60 * 15, // expire after 15 minutes
httpOnly: false, // only accessible by the web server not javascript document.cookie
signed: true // if the cookie should be signed
}
var myvalue = "abc";
response.cookie('mycookie', myvalue, cookieOptions);
我读过这篇文章,但它没有说明本地主机的设置。
虽然,我可能误会了
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
我没有列出域,而是列出了策略设置。在这种情况下,在本地主机或生产环境中进行测试时,strict 将起作用。
虽然,在node js上设置samesite貌似没有效果