确定何时刷新对 Asana 的访问 API
Determining When to Refresh Access to Asana API
当我使用 OAuth 对 Asana API 进行初始身份验证时,它给了我 refresh_token
以及 3600 毫秒(1 小时)的 expires_in
。
确定我的应用程序是否需要使用 refresh_token
来获取新的 access_token
的典型方法是什么?
我能想到两个方案:
- 注意身份验证错误,然后请求新的
access_token
。
- 从现在开始保存 date/time 到 1 小时后。然后对于每个 API 请求,检查 date/time 以查看该时间是否已经过去,如果是,则请求新的
access_token
.
有没有比这两种选择中的一种更好的方法?我在他们的 OAuth documentation.
中没有看到 Asana 的推荐
谢谢!
(我在 Asana 工作。)
好问题!您的两个想法都非常合理并且应该可行 - 选择最简单/对您的实施有意义的一个。如果时间出现偏差,#1 会更健壮一些,但如果您只是添加一些填充(确保在到期前 1-2 分钟请求令牌),那么#2 应该可以正常工作。
请注意,用户始终可以撤销令牌,在这种情况下,当您去获取新令牌时,请求将失败。
我们在文档中推荐这似乎是一件好事,甚至可能在我们的客户端库中添加一个自动机制。
当我使用 OAuth 对 Asana API 进行初始身份验证时,它给了我 refresh_token
以及 3600 毫秒(1 小时)的 expires_in
。
确定我的应用程序是否需要使用 refresh_token
来获取新的 access_token
的典型方法是什么?
我能想到两个方案:
- 注意身份验证错误,然后请求新的
access_token
。 - 从现在开始保存 date/time 到 1 小时后。然后对于每个 API 请求,检查 date/time 以查看该时间是否已经过去,如果是,则请求新的
access_token
.
有没有比这两种选择中的一种更好的方法?我在他们的 OAuth documentation.
中没有看到 Asana 的推荐谢谢!
(我在 Asana 工作。)
好问题!您的两个想法都非常合理并且应该可行 - 选择最简单/对您的实施有意义的一个。如果时间出现偏差,#1 会更健壮一些,但如果您只是添加一些填充(确保在到期前 1-2 分钟请求令牌),那么#2 应该可以正常工作。
请注意,用户始终可以撤销令牌,在这种情况下,当您去获取新令牌时,请求将失败。
我们在文档中推荐这似乎是一件好事,甚至可能在我们的客户端库中添加一个自动机制。