If you are using custom callback for authentication using
Passportjs for
Local Database Authentication, you may encounter the situation that the Post request hangs and the authentication never seems to end.
There may be many reasons but what we’ve found most common is we are using
passport.authenticate()
middleware in a callback but do not provide
(req, res, next)
to this middleware.
So, in the snippet below,
check line number 12 in which we provide
(req, res, next)
to middleware
router.post('/login', function(req, res, next) {
passport.authenticate('local', (err, user, info) => {
if (err) { return next(err) }
if (!user) {
return res.render('/login', {
form: req.body
});
}
req.logIn(user, function(err) {
if (err) { return next(err); }
return res.redirect('/myaccount');
});
})(req, res, next); // <=== Do not forget to add these.
});