1

假设我正在开发 Evernote 或 YouTube 客户端,并且在用户登录后,应用程序从 API 服务器获取授权令牌。

然后我使用这个令牌与服务器交互,直到某个时间之后,令牌过期。

关键是,我不知道这个令牌是否已过期,直到服务器返回一条错误消息,如“令牌已过期”。然后我必须获取一个新令牌。也许它发生在用户发布消息时。

那么处理这种情况的优雅方法是什么?我想将获取新令牌与继续上一个请求结合起来,以便用户感觉它像往常一样工作。

4

1 回答 1

1

这取决于您使用的流程。但总的来说,如果您能够刷新身份验证令牌(通过刷新令牌)而无需再次重定向用户以获取凭据,您应该无缝地执行此操作。

此外,您应该确切地知道令牌何时到期。如果您针对 OAuth 2 实现进行编码,则身份验证令牌响应应为您提供一个“expires_in”字段作为时间跨度,告诉您令牌在发出给您后将过期多长时间。

于 2013-10-12T06:18:29.463 回答