2016-06-07 347 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