Passport Node(错误:无法将用户反序列化为会话。)

时间:2017-06-05 05:28:14

标签: mysql node.js express passport.js

我使用Node.js,express,passport和MySQL。

这是我的反序列化代码:

passport.deserializeUser(function(id, done) {
connection.query("select * from users where UserId = "+id,function(err,rows){  
        console.log(rows); 
        done(err, rows[0]);
    });
});

另外,使用console.log检查" rows"正在返回所需用户的行。

app.get('/logout', function(req, res){
  req.logout();
  res.redirect('/');
});

2 个答案:

答案 0 :(得分:0)

返回行

    if(err){
        console.log(err);
        return done(null,err);
    }
    done(null, rows[0]); // return row[0]

答案 1 :(得分:0)

后续评论:错误应作为done()函数的第一个参数传递:

return done(err, null);

return done(err);

而反序列化的对象应该按原样传递:

return done(err, rows[0]);