【发布时间】:2022-02-12 00:54:28
【问题描述】:
我正在查看以下文档: https://github.com/googleapis/google-api-nodejs-client#handling-refresh-tokens
尤其是这部分:
oauth2Client.on('tokens', (tokens) => {
if (tokens.refresh_token) {
// store the refresh_token in my database!
console.log(tokens.refresh_token);
}
console.log(tokens.access_token);
});
我不明白为什么我应该将刷新令牌存储在数据库中。 是否因为刷新令牌仅在第一次授权时提供给我? 但即便如此,这不应该意味着这部分:
oauth2Client.setCredentials({
refresh_token: `STORED_REFRESH_TOKEN`
});
应该替换上面的注释(// 将 refresh_token 存储在我的数据库中!)? 又名:
oauth2Client.on('tokens', (tokens) => {
if (tokens.refresh_token) {
oauth2Client.setCredentials({
refresh_token: tokens.refresh_token
});
});
这是由于 Google 在文档中的声明: "如果即将过期,此库将自动使用刷新令牌获取新的访问令牌"。
我想要构建一个应用程序,人们使用他们的 Google 帐户登录,然后可以使用我使用 f.e Google-analytics API 构建的几个分析工具。
我已经通过文档设置了一个有效的访问令牌,但我对这个主题真的很感兴趣,真的很想学习刷新部分,但我很难理解它。如果有人可以帮助我理解,我将非常感激。如果没有,有人可以指出我在其他地方对此(对于nodejs)的一个很好的解释吗? :)
【问题讨论】:
标签: node.js oauth-2.0 google-api-nodejs-client