首页 > 解决方案 > 只能在对他进行身份验证后立即访问 POST 请求上的 req.user,而不是稍后在代码中访问

问题描述

当我发送发布请求并使用时,passport.authenticate我可以访问,req.user但是当我console.log()稍后在代码中(在“/user”路由上)实际尝试用户时,它返回未定义。

router.post(
  '/login',
  passport.authenticate('local', {
    failureRedirect: '/',
  }),
  (req, res) => {
    console.log(req.user);
    res.redirect('/');
  }
);

router.get('/user', (req, res) => {
  console.log(req.user);
  res.send(req.user);
});

我尝试删除参数中的 cookie maxAge,expressSession因为有人在另一个问题上推荐了它,但它没有用,也没有任何改变。

标签: javascriptnode.jsexpresspassport.jspassport-local

解决方案


推荐阅读