【发布时间】:2019-11-16 08:28:07
【问题描述】:
我有一个关于来自 Express 后端的网络会话 cookie 的问题。在前面,我使用的是通过 express.use(express.static('static')); 安装在 express static 上的 Vue PWA/SPA 来提供构建文件。
我做了一些研究,我们可以使用
将选项附加到函数中express.use(cookieParser());
express.use(session({
secret : `${uuid()}`,
proxy: true,
resave: false,
saveUninitialized: false,
cookie: {
maxAge: 1000 * 60 * 30
}
}))
const options = {
dotfiles: 'ignore',
etag: false,
extensions: ['html', 'htm'],
index: false,
maxAge: '1d',
redirect: false,
setHeaders: function(res, path, stat) {
res.set('Set-Cookie', "myCookie=cookieValue;Path=/");
res.set('x-timestamp', Date.now());
}
}
express.use(express.static('static' , options));
完成这些之后,希望我可以通过document.cookie 在浏览器上阅读myCookie=cookieValue,但我没有看到页面上打印了这些数据。
我也试过__dirname方法,然后做
app.get("/", function(req, res) {
req.session.fullname = "Oh mi gee";
res.render("index");
});
没有给我我想要的。有没有办法让我添加会话/cookies,这样我就可以通过在标头上传递 cookie 数据来确保 API 调用的安全?
提前致谢!
【问题讨论】:
标签: node.js express session-cookies single-page-application progressive-web-apps