0

I have created a google user session using passport oauth, using the following routes:

nodeApp.get('/api/google', googlepassport.authenticate('google', { session: true,scope: ['profile', 'email'] })
nodeApp.get('/auth/google/callback',

        googlepassport.authenticate('google', 

        {              //  successRedirect: '/',

           // failureRedirect: '/login-error',


        }))

At the backend in passport.serializeuser, I am able to retrieve details however I want to send these details to client controller.

I tried using Http.get, but that doesn't work for google oauth as I get cross domain error. I am new to nodejs, so kindly suggest best possible way to do send user details to client controller.

google strategy

googlepassport.use(new GoogleStrategy({
    clientID: "add",
    clientSecret: "",
    callbackURL: "---",
    // passReqToCallback: true
    },

    function(req, token, refreshToken, profile, done) {
        // make the code asynchronous
        // console.log("test google");
        // User.findOne won't fire until we have all our data back from Google
        process.nextTick(function() {
            console.log("test google");
            //console.log(profile);

            var userMap = {};
            userMap['mail'] = profile.emails[0].value;
            userMap['name'] = profile.displayName;
            //  console.log(JSON.stringify(userMap));
            //  req.user = req.session.googlepassport.user;
            //console.log(req.session);
            //req.session.user = req.session.googlepassport.user;
            return done(null, userMap);
        })
                //  done(null,null);
}));

googlepassport.serializeUser(function(user, done) {
    console.log('Serializing');
    console.log(user);
    done(null, user);
});

googlepassport.deserializeUser(function(userMap, done) {
     done(null, userMap);
});

I want to send userMap to the client, Here the route is made through href, to avoid cross-domain error, that I get if I use it on button click .

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
Shreya
  • 43
  • 1
  • 7

0 Answers0