我们正在与Asana API合作开展一个有趣的项目。我们使用了此链接中的示例https://github.com/Asana/oauth-examples
事情可以很好地刷新令牌进程。当我们发布刷新请求时,我们得到以下json。这个json不包括refresh_token,以便在一小时后重用。你能告诉我该怎么做吗?
response = RestClient.post "https://app.asana.com/-/oauth_token",
:grant_type => 'refresh_token',
:refresh_token => '0/61d875c01bbd97b0a0bd7b48ebc7a29b',
:client_id => '11111111111',
:client_secret => 'xxxxxxxxxxxxxx'
puts response.body
返回
{
"access_token": "0/672d061b4b1357de257d7e598f571140",
"token_type": "bearer",
"expires_in": 3600,
"data": {
"id": 5165131262780,
"name": "xxxx",
"email": "xxx@xxx.com"
}
}
答案 0 :(得分:2)
这也使我感到困惑。
您继续使用相同的刷新令牌来获取下一个访问令牌。没有发出新的刷新令牌。
答案 1 :(得分:0)
正如文档所述,refresh_token存在“如果交换代码” - 令牌交换端点仅在交换令牌代码时包含刷新令牌,而不是在交换时刷新新承载令牌的令牌。
在使用刷新令牌发出请求时,您只能获得新的持票令牌。刷新令牌是长期存在的 - 如果它过期,您将返回代码交换。