问题描述
我有一个使用express,mongodb-mongoose,passport,bcrypt等的node.js应用程序。我已经在mongodb地图集上建立了2个数据库,一个是本地数据库,另一个是。在我的本地数据库中,我可以注册并登录,但是当我在地图集上尝试时,即使我已经注册,我也永远无法登录
(路由)admin.js
adminRouter.post('/register',async (req,res)=>{
const user = new User({
username:req.body.username,password:bcrypt.hashSync(req.body.password,10)
})
try{
const savedUser = await user.save();
res.json(savedUser);
}catch(err){
console.log(err);
}
})
passport.js
module.exports = function(passport){
passport.use(new localStrategy({usernameField:'username'},(username,password,next)=>{
User.findOne({username:username}).then(user=>{
if(!user){
return next(null,false,{message:'The username does not exist'});
}
console.log('incorrect password' + password +'user.password'+ user.password);
bcrypt.compare(password,user.password,(err,isMatch)=>{
console.log('incorrect password' + password +'user.password'+ user.password)
if(err) throw err;
if(isMatch){
return next(null,user)
}else{
console.log('incorrect password' + password +'user.password'+ user.password)
return next(null,{message:'password incorrect'})
}
});
})
.catch(err=>console.log(err));
}))
passport.serializeUser(function(user,next){
next(null,user.id);
});
passport.deserializeUser(function(id,next){
User.findById(id,function(err,user){
next(err,user);
});
});
}
在控制台中正在记录它:
incorrect password<password>user.password<password>
incorrect password<password>user.password<password>
incorrect password<password>user.password<password>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)