OAuth Google-令牌刷新

OAuth Google-令牌刷新,oauth,oauth-2.0,google-oauth,Oauth,Oauth 2.0,Google Oauth,如果我的手机有错,请道歉。我们一直在努力为几家提供商建立稳固的整合,除了Twitter和他们不存在的电子邮件地址(哦“再见”唯一键),我们还有谷歌,他们的令牌生命周期非常短 现在,我们求助于通过在js中推动用户通过客户端的流来执行伪刷新 如果不让用户通过oauth流而没有离线访问accessType,那么如何刷新令牌呢?As刷新令牌仅对此accessType有效 如果我错过了一个技巧,请让我知道!所有的社交提供商似乎都采用了不同的方法,因为到期时间似乎并没有在任何地方精确指定,所以在某些情况下,

如果我的手机有错,请道歉。我们一直在努力为几家提供商建立稳固的整合,除了Twitter和他们不存在的电子邮件地址(哦“再见”唯一键),我们还有谷歌,他们的令牌生命周期非常短

现在,我们求助于通过在js中推动用户通过客户端的流来执行伪刷新

如果不让用户通过oauth流而没有离线访问accessType,那么如何刷新令牌呢?As刷新令牌仅对此accessType有效

如果我错过了一个技巧,请让我知道!所有的社交提供商似乎都采用了不同的方法,因为到期时间似乎并没有在任何地方精确指定,所以在某些情况下,它是一个unixtime戳,有些是以秒为单位的负整数,相对于现在(我猜它必须基于UTC,否则将不起作用),我还见过一些将到期时间作为unix时间戳提供的方法。该死,OAuth 2没有RFC吗

任何见解都值得赞赏。多谢各位

更新
为不够清晰而道歉。一切都正常,只是谷歌的OAuth代币太短了。这并不是一个好问题,我们必须用JS刷新Google的OAuth令牌,或者离线使用“accessType”,这并不理想。

你的问题中没有提到你的应用程序正在使用的特定OAuth流,因此很难提供一个可靠的答案

我想到了两种方法:-

  • 如果您正在执行客户端JavaScript验证,那么可以将immediate=true设置为“刷新”完成时不使用任何用户UI

  • 您可以执行脱机位,这将为您赢得一个刷新令牌。您可以将其存储在服务器上,并根据需要使用它生成访问令牌


  • 你能更新你问题的标题以更好地反映你的问题吗?很抱歉,前几天晚上我写得有点匆忙。我会在有机会时更新问题!标题更新。在问题的底部添加了注释。