在 Chrome 警告中,它说“如果 cookie 应该在跨站点请求中发送,则指定 SameSite=None 和安全。这允许第三方使用。” 如何使用 express-session 正确执行此操作?
app.use(
cors({
credentials: true,
origin: ["http://localhost:3000", "https://elated-jackson-28b73e.netlify.app"] //Swap this with the client url
})
);
var sess = {
secret: 'keyboard cat',
cookie: {}
}
if (app.get('env') === 'production') {
app.set('trust proxy', 1) // trust first proxy
sess.cookie.secure = true // serve secure cookies
sess.cookie.sameSite = 'none'
}
app.use(session(sess))
Run Code Online (Sandbox Code Playgroud) 其他人会收到此Chrome控制台警告吗?
设置了与跨站点资源关联的cookie,但未设置该
SameSite属性。如果将来的Chrome浏览器版本将cookie设置为SameSite=None和,则仅会提供带有跨站点请求的cookieSecure。您可以在开发人员工具的“应用程序”>“存储”>“ Cookies”下查看Cookie,并在和处查看更多详细信息。
在Chrome Flags chrome:// flags /中,我尝试同时禁用这两个功能:
默认情况下,SameSite Cookie
没有SameSite的Cookie必须是安全的
而且警告不会消失。
google-chrome google-chrome-extension google-chrome-devtools
cookies ×1