Как проверить, зарегистрирован ли пользователь в firebase? - PullRequest
1 голос
/ 27 марта 2020

Я хочу проверить, зарегистрирован ли пользователь. Вот мой код. Пожалуйста помоги. Спасибо.

fAuth           =  FirebaseAuth.getInstance();

    signUpBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if((validateName()||validateLastName()||validateEmail()||validatePassword()||validateRepeatPassword())!= true){
                String email = uEmail.getText().toString().trim();
                String password = uPassword.getText().toString().trim();
                fAuth.createUserWithEmailAndPassword(email,password);
                Toast.makeText(SignUpActivity.this,"Welcome!",Toast.LENGTH_SHORT).show();
                openPhoneActivity();
            }else {
                //here will be toast with something like "You are  already registered"
            }
            }
        });

Ответы [ 2 ]

2 голосов
/ 27 марта 2020

Метод createUserWithEmailAndPassword проверит, существует ли электронная почта внутри аутентификации firebase. Из документов:

FirebaseAuthUserCollisionException выдается, если уже существует учетная запись с данным адресом электронной почты

Вы можете использовать addOnCompleterListener(), чтобы узнать, было ли создание успешным или не:

                auth.createUserWithEmailAndPassword(email, password)
                        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                            @Override
                            public void onComplete(@NonNull Task<AuthResult> task) {
                                if (!task.isSuccessful()) {
                                   Toast.makeText((getApplicationContext(), "Authentication failed: " + task.getException().getMessage(),Toast.LENGTH_SHORT).show();

https://firebase.google.com/docs/reference/android/com/google/firebase/auth/FirebaseAuth#public -taskauthresult-createuserwithemailmailpassword-string-email, -string-password

1 голос
/ 27 марта 2020

auth.createUserWithEmailAndPassword(email, password)
                        .addOnCompleteListener(CurrentActivity.this, new OnCompleteListener<AuthResult>() {
                            @Override
                            public void onComplete(@NonNull Task<AuthResult> task) {
                                Toast.makeText(SignupActivity.this, "createUserWithEmail:onComplete:" + task.isSuccessful(), Toast.LENGTH_SHORT).show();
                                // If sign in fails, display a message to the user. If sign in succeeds
                                // the auth state listener will be notified and logic to handle the
                                // signed in user can be handled in the listener.
                                if (!task.isSuccessful()) {
                                    Toast.makeText(SignupActivity.this, "Authentication failed." + task.getException(),
                                            Toast.LENGTH_SHORT).show();
                                } else {
                                    //Do something here
                                    startActivity(new Intent(CurrentActivity.this, RedirectActivity.class));
                                    finish();
                                }
                            }
                        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...