Initial Commit

This commit is contained in:
root
2013-05-06 03:38:29 -04:00
commit d392a540e7
134 changed files with 22012 additions and 0 deletions

55
config/passport.js Normal file
View File

@ -0,0 +1,55 @@
var mongoose = require('mongoose')
GoogleStrategy = require('passport-google-oauth').OAuth2Strategy,
User = mongoose.model('User');
module.exports = function(passport, config) {
passport.serializeUser(function(user, done) {
done(null, user._id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
passport.use(new GoogleStrategy({
clientID: config.auth.clientId,
clientSecret: config.auth.clientSecret,
callbackURL: config.auth.callback
},
function(accessToken, refreshToken, profile, done) {
console.log(profile);
console.log(accessToken);
console.log(refreshToken);
profile = profile._json;
User.findOne({ email: profile.email.toLowerCase() }, function(err, user) {
if (err) { return done(err); }
if (!user || !user.hasPermission("system.login")) {
return done(null, false, { message: "You are not authorized to access this portal." });
}
user.accessToken = accessToken;
if (refreshToken) {
user.refreshToken = refreshToken;
}
if (profile.given_name) {
user.name.first = profile.given_name;
}
if (profile.family_name) {
user.name.last = profile.family_name;
}
if (profile.picture) {
user.picture = profile.picture;
}
user.save(function(err) {
if (err) console.log(err);
return done(err, user);
});
});
}));
}