何时刷新令牌



我有一个持续在后台运行的应用程序。该应用程序使用UCWA REST api。身份验证后,我得到OAuth令牌和一些过期时间。身份验证文档中说:"对于经过身份验证的用户,令牌的生命周期是8小时。客户端应用程序应该监视过期时间并根据需要刷新令牌"。那么,何时需要刷新令牌呢?当我开始刷新令牌时,我应该保留什么过期时间?1分钟、10分钟还是60分钟?什么是OAuth最佳实践?

票证服务的响应将向用户提供OAuth令牌、令牌类型和过期值。该值以秒为单位测量,这意味着您可以将分钟(60)或小时(3600)分开来获得一个值,您可以预期401 Unauthorized请求开始失败。当应用程序使用匿名会议连接时,监视是最有用的,因为令牌到期时间要短得多,大约1小时,并且它是直接提供更新令牌的唯一身份验证机制。

这导致两种可能的方法:

  • 如果使用匿名会议加入
    • 检查在认证响应中发现的过期值,并启动一个小于预期值的计时器(可能少于1-3分钟)
    • 当定时器过期时刷新OAuth令牌
  • 如果不使用匿名会议加入
    • 发送请求直到401发生
    • 检查WWW-Authenticate的响应头并发送另一个认证请求以获得新的令牌
    • 用新令牌重新发出请求

在非匿名会议加入场景中,在采取刷新令牌的操作之前,最好等待401到来。

最新更新