Add Login route express validations
This commit is contained in:
@ -22,7 +22,7 @@ passport.deserializeUser(function(id, done) {
|
|||||||
|
|
||||||
passport.use(new LocalStrategy({ usernameField: 'email' }, function(email, password, done) {
|
passport.use(new LocalStrategy({ usernameField: 'email' }, function(email, password, done) {
|
||||||
User.findOne({ email: email }, function(err, user) {
|
User.findOne({ email: email }, function(err, user) {
|
||||||
if (!user) return done(null, false, { message: 'No match found for user: ' + email });
|
if (!user) return done(null, false, { message: 'Email ' + email + ' not found'});
|
||||||
user.comparePassword(password, function(err, isMatch) {
|
user.comparePassword(password, function(err, isMatch) {
|
||||||
if (isMatch) {
|
if (isMatch) {
|
||||||
return done(null, user);
|
return done(null, user);
|
||||||
|
@ -12,7 +12,7 @@ exports.getLogin = function(req, res) {
|
|||||||
if (req.user) return res.redirect('/');
|
if (req.user) return res.redirect('/');
|
||||||
res.render('account/login', {
|
res.render('account/login', {
|
||||||
title: 'Login',
|
title: 'Login',
|
||||||
messages: req.flash('messages')
|
errors: req.flash('errors')
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -50,11 +50,22 @@ exports.getAccount = function(req, res) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
exports.postLogin = function(req, res, next) {
|
exports.postLogin = function(req, res, next) {
|
||||||
|
req.assert('email', 'Email cannot be blank').notEmpty();
|
||||||
|
req.assert('email', 'Email is not valid').isEmail();
|
||||||
|
req.assert('password', 'Password cannot be blank').notEmpty();
|
||||||
|
|
||||||
|
var errors = req.validationErrors();
|
||||||
|
|
||||||
|
if (errors) {
|
||||||
|
req.flash('errors', errors);
|
||||||
|
return res.redirect('/login');
|
||||||
|
}
|
||||||
|
|
||||||
passport.authenticate('local', function(err, user, info) {
|
passport.authenticate('local', function(err, user, info) {
|
||||||
if (err) return next(err);
|
if (err) return next(err);
|
||||||
|
|
||||||
if (!user) {
|
if (!user) {
|
||||||
req.flash('messages', info.message);
|
req.flash('errors', { msg: info.message });
|
||||||
return res.redirect('/login');
|
return res.redirect('/login');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user