即使定期报告我的 activity,申请也会在 1 小时后过期

Application expires after 1h even when regularly reporting my activity

以前我有一个问题,我的 UCWA 应用程序在一段时间后过期了。作为这个问题的解决方案,我发现我应该时不时地发出一个请求来让它保持活动状态。我决定设置一个间隔,每 3 分钟请求 reportMyActivity 资源。

但是,无论如何,我的申请总是在 1 小时后过期。有什么解决办法吗?或者,在不离开网站的情况下使用示例库重新创建应用程序的推荐方法是什么?

谢谢。

令牌过期的时间并不完全相关,重要的是 401 Unauthorized 指示令牌已过期。在该失败的请求中,应该有一个(或两个)WWW-Authenticate headers 可用于指向获取下一个令牌的位置。您可以考虑更改负责向 UCWA 发送请求的逻辑以反映如下内容:

  1. 发送请求
  2. 检查响应状态代码
  3. 如果 401...
    • 检查 WWW-Authenticate header 和 re-issue 身份验证请求
    • 存储令牌并返回步骤 #1
  4. 处理响应

这样应用程序就不需要跟踪令牌的到期时间,并且可以在遇到 401 时延迟检索新令牌。