how to use the refreshAccessToken method to genera

2019-02-26 09:32发布

I see that this pull request adds a method to refresh the access token using a saved refresh token. It is not clear to me how to use it. I have saved the tokens (including the refresh token) from the original getToken request and am now retrieving the token from the Database in a new session. How do I set the credentials on OAuth2Client so that I can call refreshAccessToken and get a new accesstoken?

2条回答
唯我独甜
2楼-- · 2019-02-26 10:08

I had missed the paragraph on setting credentials on the github readme, so here is some sample code in case anybody else needs it.

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
  });
});
查看更多
戒情不戒烟
3楼-- · 2019-02-26 10:12

Just a guess as I haven't used this library. But it looks to me like you simply call myOAuth2Client.refreshAccessToken(function(err, newCredentials){}), where you have already instantiated the OAuth2Client object with the old token. (dunno how you do that but it might be as simple as instantiating the object then myOauth2Client.credentials.refresh_token = 'foobar'.) And if there's no error, it'll modify the OAuth2Client.credentials object and additionally pass the credentials object to the callback.

查看更多
登录 后发表回答