Firebase身份验证失败 - 过期的身份验证令牌差异

时间:2016-09-07 07:03:02

标签: android firebase firebase-realtime-database firebase-authentication

我在我的应用中使用Firebase身份验证(Google,Facebook和电子邮件)。一切正常,但有时我会,

W/PersistentConnection: pc_0 - Authentication failed: expired_token (Auth token is expired)

但如果我检查一下,

FirebaseAuth.getInstance().getCurrentUser() == null

每次都会返回 false ,因此当前用户不为空(根据Firebase)

我也实现了这个,

FirebaseAuth.getInstance().addAuthStateListener(firebaseAuth -> {
            if (firebaseAuth.getCurrentUser() == null) {
                Intent intent = AuthFlowActivity.getCallingIntent(AuthFlowActivity.FORCE_LOGOUT);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                startActivity(intent);
                activityExitAnimation(BaseAppActivity.this);
            }
        });

侦听器被触发,但此处当前用户永远不会为空

如果我尝试在此阶段将任何数据推送到实时数据库,则不会推送任何内容。我也试过在这个阶段上传文件,它失败并被拒绝权限。

为什么会出现这种差异?

如果令牌已过期,为什么当前用户永远不会为空?它应该是。如果没有,如果用户已登录并且他/她的身份验证令牌未过期,如何正确识别

0 个答案:

没有答案