我目前正在研究使用Node.js客户端来实现Google API:
https://github.com/google/google-api-nodejs-client/
我正在尝试使用护照进行身份验证,目前似乎已经起作用。
passport.use(new GoogleStrategy({
clientID: GOOGLE_CLIENT_ID,
clientSecret: GOOGLE_CLIENT_SECRET,
callbackURL: "http://localhost:3000/auth/google/callback"
},
function(accessToken, refreshToken, profile, done) {
process.nextTick(function () {
var user = {
id: profile.id,
email: profile.email,
firstName: profile.given_name,
lastName: profile.family_name,
accessToken: accessToken
};
return done(null, user);
});
}
));
在我的Google身份验证回调中:
app.get('/auth/google/callback',
passport.authenticate('google', { failureRedirect: '/login' }),
function(req, res) {
//do something here with the google api
});
我可以获取
req.user
,其中包含accessToken
。然而,Google api nodejs客户端的文档并没有清楚地说明如何使用accessToken。所提供的示例显示OAauth2Client检索令牌,但我想这部分已经在使用Passport时涵盖了吧?