Tôi đang sử dụng Passport.js để làm chứng thực, và mỗi Google's OAuth2 documentation, tôi đi qua trong một biến trạng thái:Làm cách nào để truy cập thông số trạng thái OAuth bằng Passport.js?
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);
});
Tuy nhiên, tôi dường như không thể truy cập vào biến mà vào một ngày sau:
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 không được xác định. request.param ("state") cũng không hoạt động.
Làm cách nào để nhận được biến đó sau khi gọi lại xác thực?
tại sao 'scope'? Tôi nghĩ rằng đó là 'querystring.stringify ({state: {blah: 'test'}})', phải không? –
@ThomasLeduc Ah vâng, bạn nói đúng. Tôi sẽ cập nhật. –