我看到此拉取请求添加了一种使用保存的刷新令牌刷新访问令牌的方法。我不清楚如何使用它。我已经保存了原始 getToken 请求中的令牌(包括刷新令牌),现在正在新会话中从数据库中检索令牌。如何在 OAuth2Client 上设置凭据,以便我可以调用 refreshAccessToken 并获取新的访问令牌?
我错过了在 github 自述文件中设置凭据的段落,所以这里有一些示例代码,以防其他人需要它。
var googleOauth2Client = new OAuth2Client(googleClientId,googleClientSecret, googleCallbackUrl);
googleOauth2Client.setCredentials({
refresh_token: saved_refresh_token
});
googleOauth2Client.refreshAccessToken(function(err, tokens){
response.send({
access_token: tokens.access_token
});
});
只是一个猜测,因为我还没有使用过这个库。但在我看来,您只是简单地调用 myOAuth2Client.refreshAccessToken(function(err, newCredentials){})
,其中您已经使用旧令牌实例化了 OAuth2Client
对象。(不知道你是如何做到这一点的,但它可能就像实例化对象然后myOauth2Client.credentials.refresh_token = 'foobar'
一样简单。如果没有错误,它将修改OAuth2Client.credentials
对象,并将凭据对象另外传递给回调。