繁体   English   中英

Firebase 电子邮件/密码身份验证从未完成

[英]Firebase email/password authentication never completed

我在我的 Android 应用程序中实现了 Firebase 提供的电子邮件/密码登录方法。 它工作正常。 但是今天由于某些我不知道的原因它不起作用。 我没有更改与我的登录活动相关的任何代码,也没有更改 Firebase 控制台中的设置。

在此处输入图片说明

private void signIn(String email, String password) {
    Log.d(TAG, "signIn:" + email);
    if (!validateForm()) {
        return;
    }

    showProgressDialog();

    // [START sign_in_with_email]
    firebaseAuth.signInWithEmailAndPassword(email, password)
            .addOnCompleteListener(this, task -> {
                if (task.isSuccessful()) {
                    // Sign in success, update UI with the signed-in user's information
                    Log.d(TAG, "signInWithEmail:success");
                    FirebaseUser user = firebaseAuth.getCurrentUser();
                    updateUI(user);
                } else {
                    // If sign in fails, display a message to the user.
                    Log.w(TAG, "signInWithEmail:failure", task.getException());
                    Toast.makeText(LoginActivity.this, "Authentication failed.",
                            Toast.LENGTH_SHORT).show();
                }

                hideProgressDialog();
            });
    // [END sign_in_with_email]
}

在 Logcat 中,它显示程序确实到达了登录方法,但不知何故身份验证过程从未完成(日志从未显示 signInWithEmail:success 或 signInWithEmail:failure)。

在此处输入图片说明

我确实尝试了其他解决方案,例如将 addOnCompleteListener 更改为 addOnSuccessListener 但没有任何改变。 Firebase 服务目前无法正常工作吗? 还是我的代码有问题? 我完全迷失了。 我很感激你想分享的任何想法。

我设法通过使用 x86_64 SDK创建一个新的模拟器使其再次工作。 我认为这与这个问题这个问题有关

你退出了吗? 尝试先注销,然后它会登录。

尝试在您的 onCreate 方法中执行firebaseAuth.signOut() 它可能会有所帮助。

但此日志指的是方法 (SignIn) 而不是 firebaseAuth 方法,请从 Tools->Firebase -> Authentication -> Connect to Firebase(如果未连接)检查您与 Firebase 的连接

我有另一个任务 FirebaseAuth.getInstance().currentUser.getIdToken(true)。 它从未完成,因为我从主线程调用它。 当我从后台线程调用时 - 它完成了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM