User.findOrCreate({ where: {googleId: profile.id}, defaults: info }) .spread(function (user) { done(null, user); });
passport.use(new GoogleStrategy({ clientID: '--Your Client ID here--', clientSecret: '--Your Secret ID here--', callbackURL: "http://localhost:3000/auth/google/callback" }, function(accessToken, refreshToken, profile, done) { console.log('ID: '+profile.id); console.log('Name: '+profile.displayName); console.log('Email : '+profile.emails[0].value); return done(null,profile); } ));
passport.use(new GoogleStrategy({ clientID: process.env.GOOGLE_CLIENT_ID, clientSecret: process.env.GOOGLE_CLIENT_SECRET, callbackURL: "http://localhost:3000/api/auth/google/callback" }, (accessToken, refreshToken, profile, done) => { db.User.findOrCreate({ where: { googleId: profile.id, username: 'g_' + profile.name.givenName + '_' + profile.name.familyName, family_name: profile.name.familyName, given_name: profile.name.givenName, email: profile.emails[0].value }}) .spread((user, created) => { done(null, user) }) .catch((err) => { return done(new Error('Internal Server Error')) }) } ))
r.connect(config, (err, conn) => { createUser(conn, { email: profile.emails[0].value || '', name: { displayName: profile.displayName || '', familyName: profile.name.familyName || '', givenName: profile.name.givenName || '' }, auth: { id: profile.id || '', type: 'google', accessToken, refreshToken }, gender: profile.gender || '', picture: profile._json.image.url || '' }) .then(user => { if (user.err && user.name) // User already exists done(null, user, { message: user.err }) else if (user.err) { // User creation error console.error(`Authentication Error: ${user.err}`) // eslint-disable-line no-console done(null, false, { message: user.err }) } else // User created done(null, user, { message: 'Account created with Google.' }) }) })
passport.use(new GoogleStrategy({ clientID: configAuth.googleAuth.clientID, clientSecret: configAuth.googleAuth.clientSecret, callbackURL: configAuth.googleAuth.callbackURL, }, function(token, refreshToken, profile, done) { process.nextTick(function() { User.findOne({ 'google.id': profile.id }, function(err, user) { if (err) return done(err); if (user) { return done(null, user); } else { var newUser = new User(); newUser.google.id = profile.id; newUser.google.token = token; newUser.google.name = profile.displayName; newUser.google.email = profile.emails[0].value; newUser.save(function(err) { if (err) throw err; return done(null, newUser); }); } }); }); }));
/** * estrategia local */ passport.use(new GoogleStrategy({ /* info de la aplicacion google */ clientID: config.google.clientID, clientSecret: config.google.clientSecret, callbackURL: config.google.callbackURL, passReqToCallback: true }, function(req, accessToken, refreshToken, profile, done) { var providerData = profile._json; providerData.accessToken = accessToken; providerData.refreshToken = refreshToken; //volcar la info de google en un usuario nuestro var providerUserProfile = { nombre: profile.name.givenName, apellidos: profile.name.familyName, fullName: profile.displayName, email: profile.emails[0].value, username: profile.username, provider: 'google', providerId: profile.id, providerData: providerData }; usuarios.saveOAuthUserProfile(req, providerUserProfile, done); }));
id: profile.id, accessToken: User.encryptAccessToken(accessToken), refreshToken
if (req.user) { User.findOne({ google: profile.id }, (err, existingUser) => { if (err) { done(err); } else { User.findById(req.user.id, (err, user) => { if (err) { return done(err); user.google = profile.id; user.role = 'visitor'; user.tokens.push({ } else { User.findOne({ google: profile.id }, (err, existingUser) => { if (err) { user.email = profile.emails[0].value; user.role = 'visitor'; user.google = profile.id; user.tokens.push({ kind: 'google',
passport.use(new GoogleStrategy({ clientID: process.env.GOOGLE_CLIENT_ID, clientSecret: process.env.GOOGLE_CLIENT_SECRET, callbackURL: '/auth/google/callback' }, (accessToken, refreshToken, profile, done) => { // Dont forget to enable Google+ API in Developer Console in order to get user's information AuthService.resolveUser({ google_id: profile.id, name: profile.name.givenName, last_name: profile.name.familyName, email: profile.emails[0].value }, (err, user, info) => { if (err) { return done(err); } if (user) { user.info = _getThirdPartyInfo(profile); } done(null, user, info); }); }));
User.findOne({ 'google.id': profile.id }, function (err, user) { if (err) return done(err); var newUser = new User(); newUser.google.id = profile.id; newUser.google.token = token; newUser.google.name = profile.displayName; user.google.id = profile.id; user.google.token = token; user.google.name = profile.displayName;
passport.use(new GoogleStrategy({ clientID : authConfig.googleAuth.clientID, clientSecret : authConfig.googleAuth.clientSecret, callbackURL : authConfig.googleAuth.callbackURL }, function(token, refreshToken, profile, done) { process.nextTick(function() { User.findOne({ 'google.id' : profile.id }, function(err, user) { if (err) return done(err); if (user) return done(null, user); else { var newUser = new User({ created: Date.now() }); newUser.google.id = profile.id; newUser.google.token = token; newUser.google.name = profile.displayName; newUser.google.email = profile.emails[0].value; newUser.save(function(err) { if (err) throw err; return done(null, newUser); }); } }); }); }) );