【发布时间】:2020-08-09 19:40:16
【问题描述】:
这是我的用户认证护照本地策略
passport.use(
new Localstrategy({usernameField:'email'},(email,pass,done)=>{
console.log(pass);
user.findOne({email:email}).then(user=>{
if(!user){
return done(null,false,{message:"the email is not registered"})
}
bcrypt.compare(pass,user.pass,(err,isMatched)=>{
if(err){throw err}
if(isMatched){
return done(null,user);
}
else{
return done(null,false,{message:"incorrect password"})
}
})
}).catch(e=>console.log(e))
})
)
这是我的登录路径
app.post("/login",async function(req,res,next){
passport.authenticate('local',{
successRedirect:'/',
failureRedirect:"/register"
})(req,res,next);
})
如果身份验证失败,我会尝试发送错误消息
正如您从代码中看到的那样,我在出现故障时放了一些消息,但不知道如何在路由中访问它们有什么帮助吗? 示例:
if(!user){
return done(null,false,{message:"the email is not registered"})
}
在上面的代码中如何访问我的failureRedirect路由中的消息?
【问题讨论】:
标签: node.js mongodb express mongoose passport.js