我试图了解 nodejs Google Drive API 的授权(特别是刷新令牌)如何工作。
这是来自https://github.com/google/google-api-nodejs-client的代码。
oauth2Client.credentials = {
access_token: 'ACCESS TOKEN HERE',
refresh_token: 'REFRESH TOKEN HERE'
};
client
.plus.people.get({ userId: 'me' })
.withAuthClient(oauth2Client)
.execute(callback);
一般问题:刷新令牌实际上如何与访问令牌一起使用?
背景:正如我所理解的,每个访问令牌都有一个有限的时间跨度(~1 小时)。因此,当用户第一次连接到我的服务器(服务器提供用户身份验证机制)时,服务器会收到有限寿命的访问令牌和一次性刷新令牌。1 小时后,访问令牌过期。
具体问题:这里是关键问题。到期后,我的服务器仍然使用 EXPIRED 访问令牌和刷新令牌向 Google Drive Api 发送请求(服务器使用会话来存储这些值)。这仍然可以访问 Google Drive 中的内容吗?我的猜测是nodejs lib + google drive api足够聪明,可以检测到访问令牌已过期并识别刷新令牌&api用新的访问令牌盲目替换过期的访问令牌(就像服务器不需要做任何事情;只是谷歌驱动器API)。api 会用新的访问代码响应服务器吗?
我需要弄清楚这一点,因为我需要在 Nodejs 中有效地组织我的代码。
谢谢!