这里是来自OAuth 2.0文档的信息。
刷新令牌用于获取新的访问令牌,当当前访问令牌无效或已过期时,或者为了获得具有相同或更窄范围的额外访问令牌(访问令牌的生命周期可能比资源所有者授权的权限短且权限更少)。
+--------+ +---------------+
| |--(A)------- Authorization Grant --------->| |
| | | |
| |<-(B)----------- Access Token -------------| |
| | & Refresh Token | |
| | | |
| | +----------+ | |
| |--(C)---- Access Token ---->| | | |
| | | | | |
| |<-(D)- Protected Resource --| Resource | | Authorization |
| Client | | Server | | Server |
| |--(E)---- Access Token ---->| | | |
| | | | | |
| |<-(F)- Invalid Token Error -| | | |
| | +----------+ | |
| | | |
| |--(G)----------- Refresh Token ----------->| |
| | | |
| |<-(H)----------- Access Token -------------| |
+--------+ & Optional Refresh Token +---------------+
(A) 客户端通过向授权服务器进行身份验证并呈现授权授予来请求访问令牌。
(B) 授权服务器对客户端进行身份验证并验证授权授予,如果有效,则发出访问令牌和刷新令牌。
(C) 客户端通过呈现访问令牌向资源服务器请求受保护的资源。
(D) 资源服务器验证访问令牌,如果有效,则提供请求。
(E) 步骤(C)和(D)会重复直到访问令牌过期。如果客户端知道访问令牌已过期,则跳到步骤(G);否则,它会发出另一个受保护的资源请求。
(F) 由于访问令牌无效,资源服务器返回无效令牌错误。
(G) 客户端通过向授权服务器进行身份验证并呈现刷新令牌来请求新的访问令牌。客户端的身份验证要求基于客户端类型和授权服务器策略。
(H) 授权服务器对客户端进行身份验证并验证刷新令牌,如果有效,则发出新的访问令牌(以及可选的新刷新令牌)。