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')) }) } ))
// Use google strategy passport.use(new GoogleStrategy({ clientID: config.google.clientID, clientSecret: config.google.clientSecret, callbackURL: config.google.callbackURL, passReqToCallback: true }, function(req, accessToken, refreshToken, profile, done) { // Set the provider data and include tokens var providerData = profile._json; providerData.accessToken = accessToken; providerData.refreshToken = refreshToken; // Create the user OAuth profile var providerUserProfile = { firstName: profile.name.givenName, lastName: profile.name.familyName, displayName: profile.displayName, email: profile.emails[0].value, username: profile.username, profileImageURL: (providerData.picture) ? providerData.picture : undefined, provider: 'google', providerIdentifierField: 'id', providerData: providerData }; // Save the user OAuth profile users.saveOAuthUserProfile(req, providerUserProfile, done); } ));
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: 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.profile.gender = user.profile.gender || profile._json.gender; user.profile.picture = user.profile.picture || profile._json.image.url; user.first_name = user.first_name || profile.name.givenName; user.last_name = user.last_name || profile.name.familyName; user.save((err) => { req.flash('info', 'Google account has been linked.'); user.profile.first_name = profile.displayName; user.profile.gender = profile._json.gender; user.first_name = user.first_name || profile.name.givenName; user.last_name = user.last_name || profile.name.familyName; user.profile.picture = profile._json.image.url;
/** * 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); }));
// Use google strategy passport.use(new GoogleStrategy({ clientID: appConfig.google.clientID, clientSecret: appConfig.google.clientSecret, callbackURL: appConfig.google.callbackURL, passReqToCallback: true }, (req, accessToken, refreshToken, profile, done) => { // Set the provider data and include tokens let providerData = profile._json; providerData.accessToken = accessToken; providerData.refreshToken = refreshToken; // Create the user OAuth profile let providerUserProfile = { firstName: profile.name.givenName, lastName: profile.name.familyName, displayName: profile.displayName, email: profile.emails[0].value, username: profile.username, profileImageURL: (providerData.picture) ? providerData.picture : undefined, provider: 'google', providerIdentifierField: 'id', providerData: providerData }; // Save the user OAuth profile users.saveOAuthUserProfile(req, providerUserProfile, done); }));