使用OAuth.io从Google获取刷新令牌

使用OAuth.io从Google获取刷新令牌,oauth,google-oauth,oauth.io,Oauth,Google Oauth,Oauth.io,我正试图从OAuth.io中为任何基于Google的提供商获取访问令牌,但是每当我进行身份验证时,我都会获得一个访问令牌,但没有刷新令牌。我选择离线访问,但仍然没有乐趣 我已经尝试过在文档中查找解决方案,但它几乎没有涵盖任何与刷新令牌相关的内容。要从Google获得刷新令牌,您需要两件事: 脱机选项 碳纤维 “可用于获取新访问令牌的令牌。刷新令牌在用户撤销访问之前有效。只有授权码请求中包含access_type=offline时,此字段才存在。” 选项批准提示设置为“强制” 碳纤维 重要提示

我正试图从OAuth.io中为任何基于Google的提供商获取访问令牌,但是每当我进行身份验证时,我都会获得一个访问令牌,但没有刷新令牌。我选择离线访问,但仍然没有乐趣


我已经尝试过在文档中查找解决方案,但它几乎没有涵盖任何与刷新令牌相关的内容。

要从Google获得刷新令牌,您需要两件事:

  • 脱机选项 碳纤维

    “可用于获取新访问令牌的令牌。刷新令牌在用户撤销访问之前有效。只有授权码请求中包含access_type=offline时,此字段才存在。”

  • 选项批准提示设置为“强制” 碳纤维

    重要提示:当应用程序收到刷新令牌时,存储该刷新令牌以备将来使用非常重要。如果应用程序丢失了刷新令牌,则必须在获得另一个刷新令牌之前重新提示用户同意。如果需要重新提示用户同意,请在授权码请求中包含approval_prompt参数,并将该值设置为force。“

所以你的脚本应该看起来像

OAuth.popup('google', {
   authorize: {
      approval_prompt: 'force'
   }
}).then(function(google) {
   console.log(google.refresh_token)
   //send the refresh token to your server
})
如果您正在使用客户端(Javascript/iOS/Android/Phonegap),您可能还需要激活以下选项:
在OAuth.io dashboard>General>advanced选项中向前端发送刷新令牌,以允许客户端SDK检索刷新令牌