tellform/config/strategies/local.js

42 lines
834 B
JavaScript
Raw Normal View History

2015-06-29 22:51:29 +00:00
'use strict';
/**
* Module dependencies.
*/
var passport = require('passport'),
LocalStrategy = require('passport-local').Strategy,
User = require('mongoose').model('User');
2016-10-23 04:31:18 +00:00
module.exports = function () {
2015-06-29 22:51:29 +00:00
// Use local strategy
passport.use(new LocalStrategy({
usernameField: 'username',
passwordField: 'password'
},
2016-10-23 04:31:18 +00:00
function (username, password, done) {
2015-06-29 22:51:29 +00:00
User.findOne({
2016-08-25 23:33:10 +00:00
$or: [
2016-10-23 04:31:18 +00:00
{'username': username},
{'email': username}
2016-08-25 23:33:10 +00:00
]
2016-10-23 04:31:18 +00:00
}, function (err, user) {
2015-06-29 22:51:29 +00:00
if (err) {
return done(err);
}
if (!user) {
return done(null, false, {
message: 'Unknown user or invalid password'
});
}
if (!user.authenticate(password)) {
return done(null, false, {
message: 'Unknown user or invalid password'
});
}
return done(null, user);
});
}
));
};