2016-06-07 278 views
0

快速的问题,在这里找不到答案。当使用刷新令牌创建新的访问令牌时,这是否会使用刷新令牌?OAuth 2请求新的访问令牌使用刷新令牌?

我有一个实例,我用刷新令牌来获取新的访问令牌,但是新的访问令牌没有带有新的刷新令牌。

这是否意味着每次访问令牌耗尽时我都可以继续使用初始刷新令牌?

回答

1

Google documentation说,

refresh_token:可用于获取新的访问令牌的令牌。刷新令牌在用户撤销访问之前一直有效。

刷新令牌是有效的,直到它们被撤销,所以,只要你想,如果它是有效的,你可以用它多次。

以下是使用Google OAuth刷新access_token的示例。

请求

POST /oauth2/v4/token HTTP/1.1 
Host: www.googleapis.com 
Content-Type: application/x-www-form-urlencoded 

client_id=8819981768.apps.googleusercontent.com& 
client_secret={client_secret}& 
refresh_token=1/6BMfW9j53gdGImsiyUH5kU5RsR4zwI9lUVX-tqf8JXQ& 
grant_type=refresh_token 

响应

{ 
    "access_token":"1/fFBGRNJru1FQd44AzqT3Zg", 
    "expires_in":3920, 
    "token_type":"Bearer", 
} 

得出结论,刷新令牌,不与访问令牌刷新过期。只要它们有效,就可以使用它们。

+0

谢谢你解释清楚。 – MrHappySandwich

0

该行为取决于OAuth 2.0实现。 Google的实施仅仅是一个例子。事实上,存在允许管理员选择(1)在使用后保持刷新令牌有效或(2)在使用后使刷新令牌无效并发布新令牌的实现。

enter image description here