我使用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('/');
});
答案 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]);