小编Ale*_*olm的帖子

PassportJS deserializeUser从未调用过

我已经设置了Passport来验证存储在mongodb中的用户.似乎工作正常:身份验证成功/失败,会话变量设置.但是,让Passport检查会话是否失败.有些东西似乎是错误的,因为我添加到deserializeUser回调中的console.log语句从未见过光.我认为我的问题与deserializeUser从未被调用有关.有人能够诊断我的失误吗?

// Passport configuration
passport.serializeUser(function(user, cb){ cb(null, user.id) });
passport.deserializeUser(function(uid, cb){
  console.log("Trying to deserialize user: "+uid);
  User.findById(uid, function(err, user){
    cb(err, user);
  });
});
// auth strategy function
passport.use(new LocalStrategy({usernameField: 'email'},
  function(email, pass, done){
    User.findOne({email: email}, function (err, user) {
      if (err)
        return done(err);
      if (!user)
        return done(null, false, {message: "Couldn't find user"});
      var crypted = bcrypt.hashSync(pass, user.salt);
      if(user.hashpass != crypted)
        return done(null, false, {message: "Bad password"});
      return done(null, user);
    });
  }
));

passport.CreateSession =  function (req, …
Run Code Online (Sandbox Code Playgroud)

session node.js passport.js

35
推荐指数
4
解决办法
1万
查看次数

标签 统计

node.js ×1

passport.js ×1

session ×1