仅撤销访问令牌,不撤销刷新令牌

时间:2018-11-09 09:35:36

标签: google-drive-api google-oauth

我的应用程序可以通过OAUTH2访问我的Google云端硬盘。

我使用管理面板浏览流程并获取刷新令牌,然后我的应用程序用户将使用所述刷新令牌生成访问令牌,以下载我的文件之一。

到目前为止一切正常。

但是我希望这些访问令牌在使用一次后被撤销,以避免被利用。

我尝试使用https://accounts.google.com/o/oauth2/revoke?token= {token} 但是,正如文档所述,此端点还吊销了“刷新令牌”……因此,每次用户从我的应用程序下载文件时,我都必须再次进行身份验证才能获得新的刷新令牌。

如何在不撤消刷新令牌的情况下使访问令牌无效(或发出一个寿命很短的令牌)?我进行了广泛的搜索,但到目前为止找不到任何东西,与我在此处找到的类似问题仍未得到答案。

1 个答案:

答案 0 :(得分:1)

我假设您有一个服务器应用程序,该应用程序已安全地存储了刷新令牌,并使用它来按需生成访问令牌。您无法控制访问令牌的有效期。

您可以做的是每分钟请求一个访问令牌,并将其存储在服务器端缓存中。当用户需要访问令牌时,请给他们一个59分钟的令牌(或更准确地说,到期时间-60秒)。