Google 帐户访问令牌

Posted

技术标签:

【中文标题】Google 帐户访问令牌【英文标题】:Google Account access token 【发布时间】:2012-05-27 18:35:45 【问题描述】:

如何延长谷歌帐户访问令牌的生命周期我使用 gwt-oauth2-0.2 来获取访问令牌,但问题是它很快就会过期。我想获得一个生命周期延长的令牌,最好不会过期。

【问题讨论】:

【参考方案1】:

由于这是 GWT 代码,它使用客户端 javascript 在客户端执行。无法从客户端 JavaScript 中获取长期访问令牌。颁发的令牌当前持续 60 分钟 - 您以后可以随时获得另一个令牌,而无需任何用户交互(因为用户已经批准了 OAuth 授权请求)。这应该足以让所有客户端访问用户的数据。

如果您习惯使用服务器端代码,则可以使用OAuth 2.0 flow for server-side web applications,并指定access_type=offline。这为您提供了一个作为查询参数传递的授权代码——然后您进行服务器到服务器调用以将授权代码交换为访问令牌。第一次为给定用户交换代码时,您还将获得一个刷新令牌。尽管访问令牌将过期,但刷新令牌可以无限期地用于通过简单地进行服务器到服务器调用来为该用户获取新的访问令牌。

【讨论】:

"您以后可以随时获取另一个令牌,而无需任何用户交互":当我尝试使用 oauth2-0.2 获取访问令牌时,它会打开一个弹出窗口。所以即使用户已经批准了授权请求,它仍然会打开一个弹出窗口并立即关闭。有没有办法绕过这个?

以上是关于Google 帐户访问令牌的主要内容,如果未能解决你的问题,请参考以下文章

Android 中有效的 google 帐户 OAuth 2 令牌

Google Api,如何将访问令牌传递给API调用

获取访问令牌时服务帐户 API 错误

Google OAuth2 - 令牌的交换访问代码 - 不起作用

Google Data Api 返回无效的访问令牌

Google 登录 - 访问令牌、身份验证令牌和 JWT ID 令牌之间的区别