OAuth 2请求新的访问令牌使用刷新令牌?

时间:2016-06-07 16:01:31

标签: oauth oauth-2.0

快速提问,无法在这里找到答案。使用刷新令牌创建新的访问令牌时,这会耗尽刷新令牌吗?

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

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

2 个答案:

答案 0 :(得分: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",
}

总结说,刷新令牌不会因访问令牌刷新而过期。只要它们有效,它们就可以使用。

答案 1 :(得分:0)

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

enter image description here