首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何刷新已过期的google登录帐户?

如何刷新已过期的google登录帐户?
EN

Stack Overflow用户
提问于 2015-08-22 07:51:30
回答 4查看 13K关注 0票数 43

我在用谷歌登录。用户来到我的网站并使用gapi.auth2.getAuthInstance().signIn()登录,或者他们已经登录,当页面加载(或重新加载)时,我们获取状态。此时,我有一个有效期为一小时的身份令牌,可以在服务器上进行验证。

当用户离开浏览器时(比方说过夜),这个令牌就过期了。gapi.auth2.getAuthInstance().isSignedIn.get()返回true,但令牌不验证。

如何在用户的会话处于活动状态(即浏览器尚未关闭)时登录并使其保持登录状态?或者刷新令牌?任何比重新加载页面更优雅的事情...

编辑:刷新令牌不是正确答案;我不想脱机访问(并且不想请求权限)。Google显然认为用户仍然登录到我的应用程序中;用户可以重新加载页面并获得新的令牌,而无需再次提供凭据。当然,有比隐藏的iframe更优雅的机制来获取更新的令牌?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-06-18 19:10:42

如果令牌过期,您可以调用gapi.auth2.getAuthInstance().currentUser.get().reloadAuthResponse()。它返回一个承诺。

票数 22
EN

Stack Overflow用户

发布于 2020-06-11 11:13:50

我提出了一个issue with Google over this,因为他们没有正确地记录这一点,这太荒谬了。

My comment here建议我如何使用上面的内容完成刷新。

票数 6
EN

Stack Overflow用户

发布于 2016-01-07 14:31:52

顺便说一句,我们已经设法(主要)通过listener approach让它工作了。似乎在访问令牌过期前大约5分钟调用了'userChanged‘回调。这足以让我们在不刷新页面的情况下提取和更新访问令牌。

然而,当计算机从睡眠中恢复时,并不完全起作用。这可以通过reloading the page on wake up相对容易地解决。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32150845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档