I am trying to get flash working with my handlebars templates, but it doesn't work. How can I display messages
if (!user) return done(null, false, { message: 'No user found'})
and
return done(null, false, { message: 'Oops! Wrong password.'})
in the alert box?
Installed packages: express, connect-flash, express-handlebars, passport, passport-local, express-session, connect-mongo
app.use(flash())
passport.use(new LocalStrategy(function(username, password, done) {
User.findOne({ username: username }, function(err, user) {
if (err) return done(err)
if (!user) return done(null, false, { message: 'No user found'})
user.comparePassword(password, function(err, isMatch) {
if (isMatch) {
return done(null, user)
} else {
return done(null, false, { message: 'Oops! Wrong password.'})
}
})
})
}))
app.post('/login', passport.authenticate('local', {
successRedirect: '/',
failureRedirect: '/login',
failureFlash: true
}))
Handlebars template:
{{#if message}}
<div class="alert alert-danger">{{message}}</div>
{{/if}}