我有在后台连续运行的应用程序。该应用程序使用 UCWA REST api。身份验证后,我得到 OAuth 令牌和一些过期时间。身份验证文档说“对于经过身份验证的用户,令牌的生命周期是八 (8) 小时。客户端应用程序应监控到期时间并根据需要刷新令牌”。那么,什么时候需要刷新令牌呢?开始刷新令牌时我应该保留什么到期时间?1、10 或 60 分钟?什么是 OAuth 最佳实践?
问问题
1111 次
1 回答
1
来自票务服务的响应将为用户提供 OAuth 令牌、令牌类型和到期值。此值以秒为单位,这意味着您可以除以分钟 (60) 或小时 (3600) 来获得一个值,您可以预期请求开始失败并出现 401 Unauthorized。当应用程序使用匿名会议加入时,监控最有用,因为令牌到期时间要短得多,大约 1 小时,而且它是唯一直接提供更新令牌的身份验证机制。
这导致了两种潜在的方法:
- 如果使用匿名会议加入
- 检查身份验证响应中的过期值并启动一个小于预期值的计时器(可能少 1-3 分钟)
- 当计时器到期时刷新 OAuth 令牌
- 如果不使用匿名会议加入
- 发送请求直到发生 401
- 检查 WWW-Authenticate 的响应标头并发送另一个身份验证请求以获取新令牌
- 使用新令牌重新发出请求
在非匿名会议加入场景中,最好等待 401 出现,然后再采取措施刷新令牌。
于 2015-06-09T13:26:33.047 回答