Squ*_*rrl 47 cookies express-session
在 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)
您之所以收到此消息,是因为您正在使用来自另一个站点的资源,并且该服务器正在尝试设置“cookie”,但是它没有设置 SameSite 属性,这是在较新版本的浏览器中报告的。
如果您尝试从通常没有安装 SSL 的本地计算机 (xampp)访问服务器页面,也可能会显示此信息;
在您的服务器页面中设置标题行(如果在 PHP 中)如下:
header("Set-Cookie: cross-site-cookie=whatever; SameSite=None; Secure");
(记住:这必须从服务器端解决。)
| 归档时间: |
|
| 查看次数: |
31346 次 |
| 最近记录: |