Podio刷新令牌到期

时间:2016-08-10 15:53:21

标签: oauth-2.0 podio

我正在构建一个允许人们生成简单电子邮件的应用程序 - 因此我希望为用户提供即插即忘的体验。只需登录一次,它就可以正常工作。当您对podio帐户进行更改时,会通过webhooks触发电子邮件

据我所知,Podio移交的podio刷新令牌存在28天。虽然这最初工作得很好,但28天后,我的应用程序将停止为注册Podio的用户工作并期望它完美无瑕。更难的是,没有办法找出刷新令牌何时到期以及什么时候我将获得新的刷新令牌。在28天期限到期之前是1小时,2小时还是3小时?

要求用户每28天登录一次,这样我就可以获得新的刷新令牌听起来不可行。

所以我的问题是

1)何时为我的用户生成新的刷新令牌

2)令牌失效只会使访问令牌无法刷新令牌。为什么呢?

我之前在podio论坛上看过类似的问题,但没有人回答

https://help.podio.com/hc/en-us/community/posts/206669587-Get-new-refresh-token

1 个答案:

答案 0 :(得分:5)

当您请求访问令牌时,您将获得的是JSON有效负载,如下所示:

{
  "access_token": ACCESS_TOKEN,
  "token_type": "bearer",
  "expires_in": EXPIRES_IN,
  "refresh_token": REFRESH_TOKEN,
  "scope": GRANTED_SCOPE_STRING,
  "ref":
  {
    "type": "user",
    "id": USER_ID
  }
}

它包含access_tokenrefresh_token以及access_token有效期。

如果您在没有SDK /客户端库的情况下直接进行API调用,则需要在过期时处理access_token的刷新。要实现这一点,您可能需要存储获取访问令牌的时间戳以及访问令牌请求的响应数据,并进行比较并确定在每次API调用之前访问令牌是否已过期。如果令牌过期,您需要提供现有的refresh_token并使用this API call获取新的访问令牌详细信息并更新商店中的时间戳。

如果您使用的是SDK,则可能会自动刷新访问令牌(例如podio-rb,podio-php,podio-net)

相关问题