【问题标题】:Firebase Auth getIdToken gets stuck after updateFirebase Auth getIdToken 更新后卡住了
【发布时间】:2023-03-03 18:15:01
【问题描述】:

所以情况如下:

1) 用户已登录。最后生成的令牌是不久前生成的,并且已过期。即使没有,问题也不会发生。

2) 已安装应用更新。 (不是android studio即时运行的东西,实际签名的apk具有更高的应用版本和appversioncode)

3) 用户打开应用程序,然后我用来刷新 id 令牌的常规代码运行。

4) 没有一个听众被击中并且永远没有超时

这是一个错误还是我在这里做错了什么?

清除应用数据并重新启动会清除所有问题。在这种情况下,代码运行良好。更新后才会卡住。

注意:我已将 forceRefresh 布尔值设置为 false,因为此代码在每次应用启动时都会运行,并且我不希望调用不必要的 id 令牌创建以防世代限制。当且仅当令牌已过期时,false 布尔值才会刷新令牌。

                FirebaseAuth.getInstance().getCurrentUser().getIdToken(false).addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
                    @Override
                    public void onComplete(@NonNull Task<GetTokenResult> task) {

                        if (task.isSuccessful()) {
                          //logic to proceed further
                        }


                }).addOnFailureListener(new OnFailureListener() {
                    @SuppressLint("SetTextI18n")
                    @Override
                    public void onFailure(@NonNull Exception e) {

                        if(e instanceof FirebaseAuthInvalidUserException){

                            //Do stuff to log out the user session

                        }else{

                            //Some other exception occurred, let the user retry      

                        }


                    }
                });

P.S 在这一切之前我确实进行了一次无效性检查,以查看是否确实存在用户。

【问题讨论】:

    标签: android firebase firebase-authentication


    【解决方案1】:

    对于任何对此感到疑惑的人,我向 Firebase 支持提出了一张票,结果证明这是 Firebase Auth 15.1.0 中的一个错误

    根据发行说明,他们修改了令牌刷新逻辑,可能这就是引入错误的地方。

    根据我的测试,系统可以正常工作到 12.0.1 版本。如果您打算使用类似功能,请不要更新到 15.1.0。

    【讨论】:

    • 似乎在 16.x 版本中已修复
    • Kushan - 我们遇到了同样的问题。请问您是如何确认这与 Firebase Auth 15.1.0 中的错误直接相关的?
    • firebase 支持证实了这一点,提出了一个错误,他们说它将在下一个版本中修复。似乎在 16.x 版本中已修复,我尝试并测试了它,它再次工作。
    • 当前使用 16.0.1,自过去 1 个月左右以来没有任何问题。
    • 但我在 11.8.0 上遇到了这个问题
    猜你喜欢
    • 2018-09-10
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    相关资源
    最近更新 更多