我正在使用 Passport.js 进行身份验证,并且根据Google 的 OAuth2 文档,我传入了一个状态变量:
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);
});
但是,我以后似乎无法访问该变量:
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 未定义。request.param("state") 也不起作用。
身份验证回调后如何获取该变量?