首页 文章

Google刷新令牌会过期吗?

提问于
浏览
95

我在短时间内多次使用刷新令牌进行测试,但我不知道,Google刷新令牌会过期吗?或者我可以调用相同的刷新令牌以在很长一段时间(一周甚至几个月)内反复获取另一个访问令牌?

7 回答

  • 4

    Google Auth服务器发布的刷新令牌永不过期 - 这是刷新令牌的重点 . 当用户撤消对您的应用程序的访问权限时,刷新令牌将过期(或者我应该说是未经授权的) .

    请参阅doc,它清楚地说明了刷新令牌的功能 .

    服务器可以发出短期访问令牌和长期刷新令牌,而不是发出持久令牌(通常好一年或无限生命) . 因此,简而言之,您可以反复使用刷新令牌,直到授权访问权限的用户撤消对您的应用程序的访问权限 .

  • 127

    这是一个非常混乱的线程 . 第一个答案似乎是正确的,但实际上并未引用任何权威的谷歌 .

    我找到的最明确的答案实际上是在开发人员的操场上,你获得了令牌 . 第2步底部有一条说明:

    “注意:OAuth Playground不存储刷新令牌,但由于刷新令牌永不过期,如果用户希望手动撤销它们,则应转到他们的Google帐户授权访问页面 . ”

    https://developers.google.com/oauthplayground/

  • 14

    我不认为这是完全正确的:

    请注意,将发布的刷新令牌数量有限制;每个客户端/用户组合一个限制,所有客户端的每个用户另一个限制 . 您应该在长期存储中保存刷新令牌,并且只要它们保持有效就继续使用它们 . 如果您的应用程序请求过多的刷新令牌,它可能会遇到这些限制,在这种情况下,旧的刷新令牌将停止工作 .

    从此页:https://developers.google.com/youtube/v3/guides/authentication#installed-apps

    这是来自youTube文档(我发现它比其他api文档好得多)但我认为它在所有谷歌应用程序中是相同的 .

  • -2

    看到这个:

    刷新令牌在用户撤消访问权限之前有效 . 仅当授权代码请求中包含access_type = offline时,才会出现此字段 .

    https://developers.google.com/accounts/docs/OAuth2WebServer

  • 2

    2017年的某些时候规则发生了变化,所以我认为最好的答案取决于产品 . 例如,在Gmail API上,Oauth 2.0刷新令牌会在密码更改时到期 . 看到这个https://support.google.com/a/answer/6328616?hl=en

    我们曾经提前设置API访问并在设置新的Gmail用户时生成刷新令牌,然后我们可以归档他们的邮件(我们需要通过法律来这样做),但现在他们一旦更改了密码,就会刷新令牌被撤销 .

    也许对于youtube, Map ,刷新令牌仍然是真正的长期存在,但对于gmail api,指望一个短令牌 .

  • 3

    刷新令牌的主要概念是它持久且永不过期 .

    访问令牌具有到期时间并且它到期,一旦它到期,我们可以去刷新令牌,将一次又一次地使用,直到用户从他的帐户撤销 .

  • 47

    我做了一些进一步的研究,似乎在第一次“离线”请求期间,Google访问令牌用于检索刷新令牌 . 从此时起,刷新令牌用于发出新的访问令牌 . 这个想法是访问令牌是一个短期令牌,但它可以通过长期刷新令牌进行更新 . 这消除了必须使用基于引用者的请求来请求URL“代码”变量的需要,这需要两种 endpoints 方法并且必须启动:

    http://www.jensbits.com/2012/01/09/google-api-offline-access-using-oauth-2-0-refresh-token/

    一些像Dropbox这样的REST API服务会发出永久持久的访问令牌,但Google会发布短期访问令牌 . PayPal使用折衷方案,允许在没有URI引用者强制执行的情况下检索访问令牌 . 这意味着可以检索访问令牌,而无需单击链接来启动该过程 . Google的方法意味着只应根据需要调用API例程 . 实质上,呼叫是通过基于引用者的程序启动的 . 这是通过发布短期访问令牌或访问必须在链中刷新的令牌来控制的 . 这需要开发人员更仔细地考虑系统应该如何流动 .

相关问题