password.serializeUser从未调用过部署,但在本地运行良好

时间:2018-10-09 06:24:02

标签: node.js serialization passport.js

当我在本地运行该应用程序时,会话正在运行。它序列化用户并反序列化用户。当我将其部署到heroku时,会话突然停止工作,序列化从未成功。我将console.logs放在各处进行测试。但是什么都没有出现:

passport.serializeUser((user, done) => { done(null, user.id) }

passport.deserializeUser((id, done) => {
   User.findById(id).then(user => {done(null, user)});
}

passport.use('login', new LocalStrategy(
...
))

当地策略绝对有效。它登录并曾经将用户发送到客户端,以使用正确的身份验证来设置我的redux存储以访问该应用。但是,当我刷新页面时,该应用程序停止运行。那是我调试的时候,发现序列化和反序列化永远不会受到打击。

app.post('/api/login', passport.authenticate('login', { session: true }),
   function (req, res) {
      res.send({ id: req.user.id, username: req.user.username });
   }
)

app.get('/api/current_user', function (req, res) {
   res.send(req.user);
})

同样,登录有效...但是获取当前用户却不... 另外,我正在使用Cookie分析器,我认为它似乎确实可以正常工作...

screen shot of the cookie

0 个答案:

没有答案