Firebase不会接收电子邮件/密码身份验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firebase不会接收电子邮件/密码身份验证相关的知识,希望对你有一定的参考价值。

我的代码完美运行,我没有错误,我通过调试运行应用程序,没有任何显示。所以我已经检查过我是否拥有最新的firebase依赖项并且我已经更新了Google Play服务但由于某些原因我的应用程序不会将用户注册到Firebase。

EditText registerEmail, registerPassword;

private FirebaseAuth mAuth;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);

    registerEmail = (EditText) findViewById(R.id.registerEmail);
    registerPassword = (EditText) findViewById(R.id.registerPassword);

    mAuth = FirebaseAuth.getInstance();

    findViewById(R.id.registerButton).setOnClickListener(this);
}

private void registerUser() {
    String email = registerEmail.getText().toString().trim();
    String password = registerPassword.getText().toString().trim();

    if(email.isEmpty()) {
        registerEmail.setError("Email is required");
        registerEmail.requestFocus();
        return;
    }
    if(!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
        registerEmail.setError("Enter a valid email");
        registerEmail.requestFocus();
        return;
    }
    if(password.isEmpty()) {
        registerPassword.setError("Password is required");
        registerPassword.requestFocus();
        return;
    }
    if(password.length() < 8) {
        registerPassword.setError("Minimum 8 characters required");
        registerPassword.requestFocus();
        return;
    }

    mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if(task.isSuccessful()) {
                Toast.makeText(getApplicationContext(), "successful", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(getApplicationContext(), "not successful", Toast.LENGTH_SHORT).show();
            }
        }
    });

}

@Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.registerButton:
            registerUser();
            //startActivity(new Intent(this, MainActivity.class));

            break;
        case R.id.loginTextView:

            startActivity(new Intent(this, Login.class));

            break;
    }
}

我得到了“不成功”的消息所以问题必须在这里mAuth.createUserWithEmailAndPassword()。先感谢您。

答案

你得到的错误是非常误导的,在线寻找解决方案我发现无数人在努力解决这个问题,但没有人提到启用Google Identity Toolkit API来解决这个问题。

以上是关于Firebase不会接收电子邮件/密码身份验证的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Firebase (Kotlin) 创建自定义身份验证

通过电子邮件/密码使用 Firebase 身份验证将 Firebase 连接到 Android 应用程序

在 Flutter 上使用电子邮件和密码进行 Firebase 身份验证的示例?

FireBase 身份验证 mAuth.createUserWithEmailAndPassword(电子邮件,密码)错误

在不使用 Firebase 的情况下使用电子邮件和密码进行 Flutter 身份验证

使用邮件和密码通过 REST API [Firebase] 进行身份验证