客户端如何知道access_tokens何时过期并应该使用refresh_token?

时间:2015-08-31 15:07:15

标签: oauth-2.0

根据The OAuth 2.0 Authorization Framework (#RFC-6749), Section 1.5

  

(E)重复步骤(C)和(D)直到访问令牌到期。如果           客户端知道访问令牌已过期,它跳到步骤(G);           否则,它会发出另一个受保护的资源请求。

但是,"客户端如何知道访问令牌已过期"?我的意思是,谁应该关心这一步?我(我的客户端应用程序)或oAuth2框架实现我正在使用?这个步骤是由oAuth 2实现自动执行还是我必须在我的代码中处理这个?

有人能指出我在实践中展示这一步的一些例子吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

在授权响应中获取access_token时,客户端可能已从授权服务器获得提示,因为应该使用可选(推荐)参数expires_in,请参阅:{{ 3}}

但是,在所有情况下,客户都需要准备好使用refresh_token获取新的access_token或重定向到授权服务器(如果适用)来处理无效访问令牌。

使用过期的access_token后,客户端应按照https://tools.ietf.org/html/rfc6749#section-4.2.2中的说明从资源服务器收到错误响应,因此HTTP 40x的错误代码为invalid_token。这就是客户知道它应该得到一个新的。