如何使用 Google Refresh Token 更新 Google Access Token

Posted

技术标签:

【中文标题】如何使用 Google Refresh Token 更新 Google Access Token【英文标题】:How to renew Google Access Token with Google Refresh Token 【发布时间】:2022-01-04 15:29:55 【问题描述】:

我正在使用来自 Firebase 的 GoogleAuthProvider 在我的应用中登录用户。我想访问用户的日历以显示即将发生的事件。为此,我使用 Google Calendar API 和我从登录中收到的访问令牌。然而,令牌只持续一个小时。我还获得了一个刷新令牌,我认为它是为了更新访问令牌,但我找不到任何有关如何使用它的文档。我使用 VueJS v2 作为前端,使用 firebase 作为后端。

【问题讨论】:

你需要锻炼沟通。不要以为有人会回应。您标记所有内容,但没有标记 Google-Calendar-Api ***.com/help/how-to-ask 【参考方案1】:

你是对的,刷新令牌是一个生成临时访问令牌的工具。如果您的方案使用超出其生命周期的访问令牌,则需要使用刷新令牌获取新的访问令牌。请阅读本文以了解更多关于 refreshing tokens 在不同设置中的信息。 Here你可以看到一个web服务器场景下token刷新的例子。

【讨论】:

第二个链接是我需要的。我没有任何特定的后端服务器,我需要传递不能提供给客户端的客户端 ID 和客户端密钥,这是否意味着我需要使用 Firebase 函数作为后端(客户端 ID 和客户端密钥将存储在里面)? @MVTKVM 您需要将客户端的秘密存储在一个私人的地方。它可以在您的 Firebase 应用或任何其他私有服务器中。

以上是关于如何使用 Google Refresh Token 更新 Google Access Token的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google Plus 进行身份验证,使用 android App,如何获取 REFRESH TOKEN

Google api refresh_token null 以及如何刷新访问令牌

google oauth refresh token 长寿命解决方案

Google OAuth2 .Net HttpPost 请求 access_token 中缺少 refresh_token

【Google pay接入】获取refresh_token

google oauth2:为 Web 服务器应用程序上的授权用户重新获取 refresh_token