我正在尝试使用 Google 提供商的 OAuth.io 获取访问令牌和刷新令牌。我为 OAuth.io 中的 access_type 选择了离线。
以下是代码
OAuth.popup("google", {'authorize' : { "approval_prompt" : 'force'}})
.done(function(result) {
console.log(result);
})
.fail(function (err) {
//handle error with err
console.log(err);
});
我没有在响应中收到 refresh_token。我只从响应中获得 access_token。
访问令牌的 JSON 响应是:
{
"status": "success",
"data": {
"access_token": "ya29.pAGQWe3yxxxxxx",
"token_type": "Bearer",
"expires_in": 3600,
"request": {
"url": "https://www.googleapis.com",
"headers": {
"Authorization": "Bearer {{token}}"
}
},
"id_token": "eyJhbGciOiJSUzIxxxxxxxx"
},
"state": "Q9nfocQXJxxxx",
"provider": "google"
}
参考
我找到了这个 SO 链接Getting refresh tokens from Google with OAuth.io 这里他们解释了如何在服务器端获取刷新令牌。
我想在客户端 JS 中获取刷新令牌。