21 lines
637 B
JavaScript
21 lines
637 B
JavaScript
|
var passport = require('passport');
|
||
|
var LocalStrategy = require('passport-local').Strategy;
|
||
|
var models = new require('../models');
|
||
|
var users = new models.Users();
|
||
|
|
||
|
passport.use(new LocalStrategy(
|
||
|
function(username, password, done) {
|
||
|
users.findByName(username, function (err, results, fields) {
|
||
|
if (err) { return done(err); }
|
||
|
|
||
|
if (results.length != 1) {
|
||
|
return done(null, false, { message: 'Incorrect username.' });
|
||
|
}
|
||
|
|
||
|
if (!users.validPassword(password, results[0])) {
|
||
|
return done(null, false, { message: 'Incorrect password.' });
|
||
|
}
|
||
|
return done(null, results[0]);
|
||
|
});
|
||
|
}
|
||
|
));
|