dubdiff/server/auth/local/passport.js

25 lines
748 B
JavaScript

var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
exports.setup = function (User, config) {
passport.use(new LocalStrategy({
usernameField: 'email',
passwordField: 'password' // this is the virtual field on the model
},
function(email, password, done) {
User.findOne({
email: email.toLowerCase()
}, function(err, user) {
if (err) return done(err);
if (!user) {
return done(null, false, { message: 'This email is not registered.' });
}
if (!user.authenticate(password)) {
return done(null, false, { message: 'This password is not correct.' });
}
return done(null, user);
});
}
));
};