Я пытаюсь использовать функцию req.flash в локальной стратегии.При неудачном входе в систему пользователь перенаправляется на ссылку сбоя с правильным флэш-сообщением, но сеанс устанавливается.Фрагмент кода, как показано ниже
passport.use(new localStrategy({
usernameField : 'username',
passwordField : 'password',
passReqToCallback : true
}, function(req,username,password,done) {
console.log(username + " " + password);
connection.query(
"SELECT cust_password from customer WHERE cust_email = ?",
[username],
function(err,result,fields) {
console.log("db password" + JSON.stringify(result));
if(err) {
return done(null,false);
}
else if(result[0].cust_password != password) {
console.log("incorrect");
return done(null,false,req.flash('error','wrong password'));
}
else {
return done(null,true);
}
});
//display error message if not successfully logged in pending
}
));
app.post("/login",passport.authenticate(
'local',{
successRedirect : '/success',
failureRedirect : '/fail',
failureFlash : true
}
));
app.get("/success",function(req,res)
{
res.send("succes");
});
app.get("/fail",function(req,res)
{
//req.flash('error','wrong password');
res.render("error",{ message : req.flash('error')});
//res.send("error");
});