deserializeUser被调用但是req.user为空

时间:2019-05-23 21:47:12

标签: javascript node.js serialization npm passport.js

我已经针对我使用的策略设置了serialize和deserializeUser函数,serialize函数通过数据库中注册的用户的ID进行发送,然后deserializeUser函数在数据库中查找ID,然后将其附加到req.user;但是,这就是问题所在。它没有附加。

我一直在试图弄清为什么它不起作用,似乎一切正常,当我再调用done()时;功能似乎不起作用。附带的所有内容是带有用户条目的passport条目,该条目具有提供的ID的值。

passport.serializeUser(function(user, done) {
  console.log('id ser ' + user);
  done(null, user);
});

passport.deserializeUser(function(uid, done) {
  console.log('id des ' + uid);
  authentication.user(uid).then(function(user){
    console.log(user);
    done(null, user);
  }).catch(function(err){
    done(err);
  });
});

我希望在有一个用户对象以及返回的数据的情况下得到结果。但是我在会话对象中得到的只是这个;

Session {
  cookie:
   { path: '/',
     _expires: 2019-05-24T21:41:31.535Z,
     originalMaxAge: 86400000,
     httpOnly: true },
  passport: { user: 1 } }

0 个答案:

没有答案