0
我正在试图通过创建自己的猫鼬帐户后,注销用户时未定义功能错误...在路线/ index.js看起来护照注册错误与user.login
TypeError: undefined is not a function
at /node_modules/passport/lib/passport/http/request.js:44:48
at pass (/node_modules/passport/lib/passport/index.js:240:14)
at Passport.serializeUser (/node_modules/passport/lib/passport/index.js:242:5)
at IncomingMessage.req.login.req.logIn (/node_modules/passport/lib/passport/http/request.js:43:29)
at Promise.<anonymous> (/routes/index.js:33:25)
at Promise.addBack (/node_modules/mongoose/lib/promise.js:120:8)
我的寄存器功能像这样:
exports.register = function (req, res) {
// Generate salt
Common.bcrypt.genSalt(function(err, salt) {
req.body.salt = salt;
// Generate hash
Common.bcrypt.hash(req.body.password, salt, function(error, hash) {
req.body.hash = hash;
// Remove clear text password
delete req.body.password;
// Save new user
new Model.User(req.body).save(function(err, user) {
console.log(err);
console.log(req);
if (user) {
req.login(user);
req.redirect('/');
} else {
res.json(false);
}
});
});
});
任何想法?
似乎解决了这些错误,但现在它说登录失败:错误:无法序列化用户进入会话。 当我刚刚登录时,会话序列化工作正常,但是当我调用req.login方法时,它有序列化问题。有任何想法吗? –
我在我的app.js中使用这个: passport.serializeUser(function(user,cb){cb(null,user.id)}); –
我接受了你的答案 - 我发现当Mongoose返回保存时,它不会给我记录的ID,所以我需要弄清楚如何让它吐出来给我。 –