32
I'm using Passport.js to do authentication, and per Google's OAuth2 documentation, I'm passing in a state variable:
app.get('/authenticate/googleOAuth', function(request, response) {
passport.authenticate('google', {
scope:
[
'https://www.googleapis.com/auth/userinfo.profile',
'https://www.googleapis.com/auth/userinfo.email'
],
state: { blah: 'test' }
})(request, response);
});
However, I can't seem to access that variable at a later date:
passport.use(new googleStrategy(
{
clientID: '...',
clientSecret: '...',
callbackURL: '...',
passReqToCallback: true
},
function(request, accessToken, refreshToken, profile, done) {
console.log('state: ' + request.query.state);
login(profile, done);
}));
request.query.state is undefined. request.param("state") doesn't work, either.
How can I get at that variable after the authentication callback?