我的堆栈是Nodejs,Passportjs,Mysql和Angularjs。当我使用护照facebook策略对用户进行身份验证时,在创建会话后,nodejs服务器根本不返回任何内容,我只是在浏览器中看到[object Object]
。在nodejs控制台上,我注意到deserializeUser
函数获取用户详细信息的查询请求已运行,但之后它才从那里返回。有人可以解释一下这里发生了什么。
如果用户未经过身份验证,即没有创建会话,那么我可以访问我的所有网页而不会出现任何问题。以下是我的deserializeUser
功能
passport.deserializeUser(function(id, done) {
User.findById(id).then(function(user) {
var err = {};
var tmpUser = {id: user.id, id_facebook: user.id_facebook, name: user.name, email: user.email};
done(err,tmpUser);
});
});