UNPKG

generator-angular-material-fullstack

Version:

Yeoman generator for creating MEAN stack applications, using MongoDB, Express, AngularJS, and Node

34 lines (32 loc) 948 B
var passport = require('passport'); var GoogleStrategy = require('passport-google-oauth').OAuth2Strategy; exports.setup = function (User, config) { passport.use(new GoogleStrategy({ clientID: config.google.clientID, clientSecret: config.google.clientSecret, callbackURL: config.google.callbackURL }, function(accessToken, refreshToken, profile, done) { User.findOne({ 'google.id': profile.id }, function(err, user) { if (!user) { user = new User({ name: profile.displayName, email: profile.emails[0].value, role: 'user', username: profile.username, provider: 'google', google: profile._json }); user.save(function(err) { if (err) return done(err); done(err, user); }); } else { return done(err, user); } }); } )); };