android - 为什么我从 firebase 仪表板中删除 firebase 用户后仍然登录

标签 android firebase-authentication

我使用 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/

相关文章:

Android Test Orchestrator 无法与 Android X 配合使用

angular - 为什么 .map 运算符在没有 .pipe 的情况下无法工作(Angular + Angularfire2/auth)?

firebase - 如何使用 flutter web 从 Firebase 电话身份验证中删除验证码验证?

android - Firebase 身份验证超时

try/catch 后的 Java 返回类型

Android开发图库路径

Android Firebase 身份验证 : federated Google login not working in Oreo

Firebase - 如何设置安全规则以便只有登录用户才能读写?

java - Android - 如何并行运行多个线程

android - 如何制作结束学分页面 - 动画 TableLayout 而不会在显示尺寸处被切割