Android 为什么firebase用户在我从firebase dashboard中删除后仍然登录
我使用了Firebase Quickstarts for Android Auth示例,然后在Firebase dashboard中创建了一个用户,使用电子邮件和密码登录该用户,该用户成功登录。 但是当我删除该用户时,它仍然登录并显示该老用户的电子邮件(user.getEmail()) 我的firebase仪表板和AuthStateListener中没有用户指示该用户已登录Android 为什么firebase用户在我从firebase dashboard中删除后仍然登录,android,firebase-authentication,Android,Firebase Authentication,我使用了Firebase Quickstarts for Android Auth示例,然后在Firebase dashboard中创建了一个用户,使用电子邮件和密码登录该用户,该用户成功登录。 但是当我删除该用户时,它仍然登录并显示该老用户的电子邮件(user.getEmail()) 我的firebase仪表板和AuthStateListener中没有用户指示该用户已登录 这怎么可能呢?删除帐户不会自动使该帐户的当前会话过期。他们当前的会话将保持有效,直到过期。您可以在Firebase仪表板中
这怎么可能呢?删除帐户不会自动使该帐户的当前会话过期。他们当前的会话将保持有效,直到过期。您可以在Firebase仪表板中设置会话过期时间间隔 如果需要,请调用
ref.unauth()
当用户更新其电子邮件、密码或重置其密码时。Firebase Auth后端撤销其令牌,要求其重新验证或尝试再次登录。这是一个安全特性。例如,如果用户的帐户被泄露,用户可能会重置密码。所有其他会话必须重新验证
如果将用户配置文件保存在数据库中,则可以检查该记录是否仍存在于安全规则中:root.child('users').child(auth.uid).exists()
另见:
// [START auth_state_listener]
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getEmail());
} else {
// User is signed out
Log.d(TAG, "onAuthStateChanged:signed_out");
}
// [START_EXCLUDE]
updateUI(user);
// [END_EXCLUDE]
}
};
// [END auth_state_listener]