3

我看到这个拉取请求添加了一种使用保存的刷新令牌刷新访问令牌的方法。我不清楚如何使用它。我已从原始 getToken 请求中保存了令牌(包括刷新令牌),现在正在新会话中从数据库中检索令牌。如何在 OAuth2Client 上设置凭据,以便我可以调用 refreshAccessToken 并获取新的 accesstoken?

4

2 回答 2

16

我错过了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
  });
});
于 2013-11-14T06:09:53.170 回答
0

只是猜测,因为我没有使用过这个库。但在我看来,你只是简单地调用myOAuth2Client.refreshAccessToken(function(err, newCredentials){})了 ,你已经OAuth2Client用旧令牌实例化了对象。(不知道你是怎么做的,但它可能就像实例化对象一样简单myOauth2Client.credentials.refresh_token = 'foobar'。)如果没有错误,它将修改OAuth2Client.credentials对象并将凭据对象另外传递给回调。

于 2013-11-13T15:23:44.617 回答