在客户端应用程序中无缝处理授权令牌到期

时间:2013-10-12 06:08:40

标签: ios api authentication

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

然后我使用此令牌与服务器进行交互,直到稍后,令牌过期。

关键是,我不知道这个令牌是否过期,直到服务器返回错误并带有'token expired'之类的消息。然后我必须获取一个新令牌。可能是在用户发布消息时发生的。

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

1 个答案:

答案 0 :(得分:1)

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

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