【问题标题】:How many times can I use a refresh token obtained from google api我可以使用多少次从 google api 获得的刷新令牌
【发布时间】:2013-09-21 05:14:37
【问题描述】:

我开发了一个 Rails 应用程序,允许用户使用他们的 google 帐户登录,然后应用程序获取电子邮件并解析它们以获取信息。

所有这些都可以正常工作,但我面临访问令牌无效的问题,因此我一直在研究刷新令牌。我在以下位置找到了一些代码: https://stackoverflow.com/a/14491560/718087

使用此代码,我已经能够获得一个有效的新访问令牌。但我有几个问题:

  1. 第一次获得的刷新令牌可以使用多少次?还是每次我获得新的访问令牌时也需要更新我的刷新令牌?注意:应用程序设置为离线访问。

  2. 我是否需要在令牌过期之前刷新令牌,或者在旧访问令牌过期后它仍会返回给我一个有效令牌?这将允许我决定何时刷新令牌的方法 - a:在获取电子邮件之前,b:在令牌过期之前自动通过延迟作业或其他方式(但这会增加相当多的开销)

我浏览了 api 文档,但找不到这些具体问题的答案。请原谅我过于详细的问题。

谢谢, 阿迪亚

【问题讨论】:

    标签: ruby-on-rails google-api oauth-2.0 google-oauth


    【解决方案1】:

    回答您的问题:“我是否需要在令牌过期之前刷新令牌,或者在旧访问令牌过期后它仍会返回给我一个有效令牌?”

    我有一个 Rails 应用程序,我检查是否存在过期和刷新令牌:

    if client.authorization.expired? && client.authorization.refresh_token
     #then I refresh here...
    

    所以答案是,是的,您可以(并且可能应该)等到您的访问令牌过期,然后刷新它。

    【讨论】:

      【解决方案2】:

      刷新令牌永不过期,除非被用户撤销。您应该安全、永久地存放它。您绝对应该返回并一遍又一遍地获取新的刷新令牌,因为每个用户/应用组合只能理解一定数量的令牌,最终旧的令牌将停止工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-10-31
        • 2013-06-14
        • 2012-02-15
        • 2016-10-13
        • 2014-07-15
        • 1970-01-01
        • 2022-10-24
        • 1970-01-01
        相关资源
        最近更新 更多