我使用 Firebase Quickstarts for Android Auth 示例,然后我在 firebase 仪表板中创建了一个用户以使用电子邮件和密码登录用户,用户成功登录。 但是当我删除用户时,它仍然登录并显示来自 (user.getEmail()) 的旧用户的电子邮件
// [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]
我的 firebase 仪表板和 AuthStateListener 中没有用户表明用户已登录。
这怎么可能?
最佳答案
当您从 Firebase 仪表板中删除用户时,该用户不会立即退出您的应用。如果用户在您的应用程序中处于 Activity 状态,他们将在短暂的延迟后自动注销。如果您想将用户注销,则需要使他们的 session token 无效。
以下代码可用于在 Firebase 中使用户的 session token 无效:
firebase.auth().signOut()
希望对您有所帮助。
关于android - 为什么我从 firebase 仪表板中删除 firebase 用户后仍然登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37733576/