2013-12-25 16:36:33 +02:00
|
|
|
'use strict';
|
|
|
|
|
|
2014-11-04 19:22:46 +02:00
|
|
|
/**
|
2016-01-07 22:18:36 +01:00
|
|
|
* Module dependencies
|
2014-11-04 19:22:46 +02:00
|
|
|
*/
|
2014-02-12 18:10:28 +02:00
|
|
|
var passport = require('passport'),
|
2015-07-25 16:53:11 -04:00
|
|
|
User = require('mongoose').model('User'),
|
|
|
|
|
path = require('path'),
|
|
|
|
|
config = require(path.resolve('./config/config'));
|
2015-02-07 12:31:07 -08:00
|
|
|
|
2014-11-04 19:22:46 +02:00
|
|
|
/**
|
2016-01-07 22:18:36 +01:00
|
|
|
* Module init function
|
2014-11-04 19:22:46 +02:00
|
|
|
*/
|
2015-07-25 16:53:11 -04:00
|
|
|
module.exports = function (app, db) {
|
|
|
|
|
// Serialize sessions
|
|
|
|
|
passport.serializeUser(function (user, done) {
|
|
|
|
|
done(null, user.id);
|
|
|
|
|
});
|
2013-05-22 17:03:50 +03:00
|
|
|
|
2015-07-25 16:53:11 -04:00
|
|
|
// Deserialize sessions
|
|
|
|
|
passport.deserializeUser(function (id, done) {
|
|
|
|
|
User.findOne({
|
|
|
|
|
_id: id
|
|
|
|
|
}, '-salt -password', function (err, user) {
|
|
|
|
|
done(err, user);
|
|
|
|
|
});
|
|
|
|
|
});
|
2013-05-22 17:03:50 +03:00
|
|
|
|
2015-07-25 16:53:11 -04:00
|
|
|
// Initialize strategies
|
|
|
|
|
config.utils.getGlobbedPaths(path.join(__dirname, './strategies/**/*.js')).forEach(function (strategy) {
|
|
|
|
|
require(path.resolve(strategy))(config);
|
|
|
|
|
});
|
2014-11-10 23:12:33 +02:00
|
|
|
|
2015-07-25 16:53:11 -04:00
|
|
|
// Add passport's middleware
|
|
|
|
|
app.use(passport.initialize());
|
|
|
|
|
app.use(passport.session());
|
2015-07-05 01:12:54 +03:00
|
|
|
};
|