linagora-rse
Version:
31 lines (28 loc) • 727 B
JavaScript
;
var mongoose = require('mongoose');
var User = mongoose.model('User');
/**
* Authenticate a user from one of its email and password
*
* @param {String} email
* @param {String} password
* @param {Function} done
*/
function auth(email, password, done) {
User.loadFromEmail(email, function(err, user) {
if (err) {
return done(err);
}
if (!user) {
return done(null, false, { message: 'Email ' + email + ' not found'});
}
user.comparePassword(password, function(err, isMatch) {
if (isMatch) {
return done(null, user);
} else {
return done(null, false, { message: 'Invalid email or password.' });
}
});
});
}
module.exports.auth = auth;