Node.js没有接收req.cookie



专家

我是新手,但我正在尝试在用户登录时实现一些逻辑。当我收到一条成功的登录消息时,登录似乎可以工作,我可以查看cookie,并且cookie存在:

Cookie存在

然而,当我尝试访问cookie时,Chrome告诉我它不存在。

router.get('/', authController.isLoggedIn, viewsController.getOverview);

这是我的authController.isLoggedIn:

exports.isLoggedIn = async (req, res, next) => {
if (!req.cookies) {
console.log('no cookies');
return next();
}
etc...

当它运行时,我得到";没有cookie";消息,所以在应用任何逻辑之前,我们已经死在水里了。

有人能帮我诊断一下我缺了什么吗?

提前感谢!

默认情况下,Express不会解析Cookie。您必须安装cookie-parser中间件才能将它们填充到req.cookies中。运行npm install --save cookie-parser,然后配置类似于:
var cookieParser = require('cookie-parser');
app.use(cookieParser());

这已作为Express官方文档的一部分进行了明确记录。

最新更新