25 lines
748 B
JavaScript
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);
|
||
|
});
|
||
|
}
|
||
|
));
|
||
|
};
|