2017-06-23 17:54:28 +00:00
|
|
|
'use strict';
|
2016-08-26 00:54:16 +00:00
|
|
|
|
2017-06-23 17:54:28 +00:00
|
|
|
var passport = require('passport');
|
|
|
|
var LocalAPIKeyStrategy = require('passport-localapikey-update').Strategy;
|
2016-08-26 00:54:16 +00:00
|
|
|
var User = require('mongoose').model('User');
|
|
|
|
|
|
|
|
module.exports = function() {
|
|
|
|
passport.use(new LocalAPIKeyStrategy({
|
|
|
|
passReqToCallback : true
|
|
|
|
}, function(req, apiKey, done) {
|
|
|
|
return User.findOne({
|
2017-06-23 17:54:28 +00:00
|
|
|
'apiKey': apiKey
|
2016-08-26 00:54:16 +00:00
|
|
|
}, function(err, user) {
|
|
|
|
if (err)
|
|
|
|
return done(err);
|
|
|
|
|
|
|
|
if (!user)
|
|
|
|
return done(null, false, {
|
2017-06-23 17:54:28 +00:00
|
|
|
message: 'Unknown API Key'
|
2016-08-26 00:54:16 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
return done(null, user);
|
|
|
|
});
|
|
|
|
}));
|
|
|
|
};
|