auth 在此上下文中是 OAuth2 对象。您可以看到它在来自the googleapis source code 的每个请求中是如何处理的。例如,您可以在上下文范围内设置如下:
google.calendar({
version: 'v3',
auth: oauth2Client
})
或在每个请求中,如入门示例代码中。
当您想将其用于护照时,我猜您将拥有类似以下内容,假设 /auth/google 是身份验证端点:
function userLogged(req, res, next) {
if (req.isAuthenticated())
return next();
res.redirect('/auth/google');
}
app.get('/calendarList', userLogged, function(req, res) {
// req.user is the login user
var oauth2Client = new OAuth2(
config.clientID,
config.clientSecret,
config.callbackURL
);
oauth2Client.credentials = {
access_token: req.user.access_token,
refresh_token: req.user.refresh_token
};
var calendar = google.calendar('v3');
calendar.events.list({
auth: oauth2Client,
calendarId: 'primary',
timeMin: (new Date()).toISOString(),
maxResults: 10,
singleEvents: true,
orderBy: 'startTime'
}, function(err, response) {
// process result
});
});