1 var passport = require('passport');
2 var LocalStrategy = require('passport-local').Strategy;
4 function localAuthenticate(User, email, password, done) {
6 email: email.toLowerCase()
10 return done(null, false, {
11 message: 'This email is not registered.'
14 user.authenticate(password, function(authError, authenticated) {
16 return done(authError);
19 return done(null, false, {
20 message: 'This password is not correct.'
23 return done(null, user);
27 .catch(function(err) {
32 exports.setup = function(User, config) {
33 passport.use(new LocalStrategy({
34 usernameField: 'email',
35 passwordField: 'password' // this is the virtual field on the model
36 }, function(email, password, done) {
37 return localAuthenticate(User, email, password, done);