谷歌登录过期后无法刷新 idToken

Posted

技术标签:

【中文标题】谷歌登录过期后无法刷新 idToken【英文标题】:Can't refresh idToken after expiration for a google sign in 【发布时间】:2019-11-23 01:52:36 【问题描述】:

我使用颤振的 google_sign_in 包在我的应用程序中实现谷歌登录,它可以工作,但 1 小时后 idToken 过期,即使我调用 signInSilently() 也无法刷新它有人可以帮忙吗?

谢谢!

Future<bool> signInGoogle(BuildContext context) async 
    setState(ViewState.Busy);
    try 
      var u = await _googleSignIn.signInSilently();
      if (u==null) u = await _googleSignIn.signIn();
      // Authenticate the GoogleUser
      // This will give back an access token and id token
      GoogleSignInAuthentication googleAuth = await u.authentication;
      await _api.loginExternalG(googleAuth.idToken);
     catch (e) 
      return false;
    
    setState(ViewState.Idle);
    return true;
  

【问题讨论】:

【参考方案1】:

问题是测试虚拟设备设置了错误的日期和时间..

【讨论】:

以上是关于谷歌登录过期后无法刷新 idToken的主要内容,如果未能解决你的问题,请参考以下文章

React Firebase 防止 axios 中的令牌过期

JWT登录过期-自动刷新token方案介绍

登录laravel后页面刷新时419页面过期错误

如何使用 apollo Reactjs 客户端刷新 Firebase IdToken

在 Android 上集成 Google 登录时如何在 ID 令牌过期后刷新?

刷新令牌过期时间谷歌日历