AFS
AFS

Reputation: 1443

How to handle FirebaseAuth exceptions

I'm using the auth service from Firebase it works but I don't know how to handle the error codes of createUserWithEmailAndPassword() like auth/email-already-in-use or auth/invalid-email ,here you can see the error list https://firebase.google.com/docs/reference/js/firebase.auth.Auth#createUserWithEmailAndPassword

public void register(View target){
        EditText email  = (EditText) findViewById(R.id.editTextName);
        EditText pass  = (EditText) findViewById(R.id.editTextPass);
        Log.d("email",email.getText().toString());
        Log.d("pass",pass.getText().toString());
        auth.createUserWithEmailAndPassword(email.getText().toString(),pass.getText().toString())
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>(){
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if(task.isSuccessful()){
                        Toast.makeText(RegistroActivity.this, "success",
                                Toast.LENGTH_SHORT).show();
                    }else{
                        Toast.makeText(RegistroActivity.this, "fail",
                                Toast.LENGTH_SHORT).show();
                    }

                }
            });

    }

Upvotes: 3

Views: 1812

Answers (1)

Ognian Gloushkov
Ognian Gloushkov

Reputation: 2659

FirebaseAuth.getInstance().createUserWithEmailAndPassword("EMAIL", "PASSWORD")
   .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
       @Override
       public void onComplete(@NonNull Task<AuthResult> task) {
           if (!task.isSuccessful()) {
               if (task.getException() instanceof FirebaseAuthUserCollisionException) {
               // thrown if there already exists an account with the given email address
               } else if (task.getException() instanceof FirebaseAuthInvalidCredentialsException) {
               // thrown if the email address is malformed
               } else if (task.getException instanceof FirebaseAuthWeakPasswordException) {
               // thrown if the password is not strong enough
               }
           }
       }
   });

Upvotes: 3

Related Questions