根据The OAuth 2.0 Authorization Framework (#RFC-6749), Section 1.5:
(E)重复步骤(C)和(D)直到访问令牌到期。如果 客户端知道访问令牌已过期,它跳到步骤(G); 否则,它会发出另一个受保护的资源请求。
但是,"客户端如何知道访问令牌已过期"?我的意思是,谁应该关心这一步?我(我的客户端应用程序)或oAuth2框架实现我正在使用?这个步骤是由oAuth 2实现自动执行还是我必须在我的代码中处理这个?
有人能指出我在实践中展示这一步的一些例子吗?
提前致谢。
答案 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
。这就是客户知道它应该得到一个新的。