Code coverage report for api/services/passport.js

Statements: 94.12% (16 / 17)      Branches: 83.33% (5 / 6)      Functions: 100% (6 / 6)      Lines: 100% (14 / 14)      Ignored: none     

All files » api/services/ » passport.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 281       1 2     1 9 9       1   4 4 4 3 3 2           1
var passport    = require('passport'),
  LocalStrategy = require('passport-local').Strategy,
  bcrypt = require('bcrypt');
 
passport.serializeUser(function(user, done) {
  done(null, user.id);
});
 
passport.deserializeUser(function(id, done) {
  User.findOneById(id, function (err, user) {
    done(err, user);
  });
});
 
passport.use(new LocalStrategy({usernameField: "email"},
  function(username, password, done) {
    User.findOneByEmail(username).exec(function(err, user) {
      Iif (err) { return done(err); }
      if (!user) { return done(null, false, { message: 'Incorrect User'}); }
      bcrypt.compare(password, user.password, function(err, res) {
        if (!res) return done(null, false, { message: 'Invalid Password'});
        return done(null, user);
      });
    });
  })
);
 
module.exports = passport;