Android Firebase身份验证失败-过期的身份验证令牌不符
我在我的应用程序(谷歌、Facebook和电子邮件)中使用Firebase身份验证。一切正常,但有时我Android Firebase身份验证失败-过期的身份验证令牌不符,android,firebase,firebase-realtime-database,firebase-authentication,Android,Firebase,Firebase Realtime Database,Firebase Authentication,我在我的应用程序(谷歌、Facebook和电子邮件)中使用Firebase身份验证。一切正常,但有时我 W/PersistentConnection: pc_0 - Authentication failed: expired_token (Auth token is expired) 但如果我查一下这个 FirebaseAuth.getInstance().getCurrentUser() == null 它每次返回false,因此当前用户不为null(根据Firebase) 我也实施了这
W/PersistentConnection: pc_0 - Authentication failed: expired_token (Auth token is expired)
但如果我查一下这个
FirebaseAuth.getInstance().getCurrentUser() == null
它每次返回false,因此当前用户不为null(根据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);
}
});
监听器会被触发,但在这里,当前用户永远不会为null
如果在此阶段尝试将任何数据推送到实时数据库,则不会推送任何数据。我也尝试在这个阶段上传文件,它失败了,权限被拒绝异常
为什么会出现这种差异?
如果令牌已过期,为什么当前用户从不为null?应该是。如果没有,如何正确识别用户是否已登录且其身份验证令牌未过期?您是否看到令牌每小时过期一次?我认为这是默认的生存期,令牌会自动刷新。在您的情况下,令牌是否不刷新?是的,确实如此。我看到令牌每小时刷新一次。在我的情况下,令牌不会刷新。虽然这几个月来都不是这样,但突然出现了这种情况,而且我没有更改任何一行可能会影响这种情况的代码。@qbix对此有任何更新吗?我没有任何建议。您的应用程序SHA-1指纹是否已更改?