确定何时刷新对 Asana 的访问 API

Determining When to Refresh Access to Asana API

当我使用 OAuth 对 Asana API 进行初始身份验证时,它给了我 refresh_token 以及 3600 毫秒(1 小时)的 expires_in

确定我的应用程序是否需要使用 refresh_token 来获取新的 access_token 的典型方法是什么?

我能想到两个方案:

  1. 注意身份验证错误,然后请求新的 access_token
  2. 从现在开始保存 date/time 到 1 小时后。然后对于每个 API 请求,检查 date/time 以查看该时间是否已经过去,如果是,则请求新的 access_token.

有没有比这两种选择中的一种更好的方法?我在他们的 OAuth documentation.

中没有看到 Asana 的推荐

谢谢!

(我在 Asana 工作。)

好问题!您的两个想法都非常合理并且应该可行 - 选择最简单/对您的实施有意义的一个。如果时间出现偏差,#1 会更健壮一些,但如果您只是添加一些填充(确保在到期前 1-2 分钟请求令牌),那么#2 应该可以正常工作。

请注意,用户始终可以撤销令牌,在这种情况下,当您去获取新令牌时,请求将失败。

我们在文档中推荐这似乎是一件好事,甚至可能在我们的客户端库中添加一个自动机制。