2017-10-17 3 views
0

Comment puis-je valider l'utilisateur est déjà inscrit?Comment puis-je valider l'utilisateur est déjà inscrit?

private void firebaseAuthWithGoogle(final GoogleSignInAccount acct, final GoogleSignInResult result) { 

    AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null); 

    mAuth.signInWithCredential(credential) 
      .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 
        if (task.isSuccessful()) { 

     //HOW CAN I validate user is already signup or not 
         if (Singup == true) { 
          did not create account. 
         } else { 
          create account; 
         } 
        } else { 
         // If sign in fails, display a message to the user. 
         Log.w(TAG, "signInWithCredential:failure", task.getException()); 
         Toast.makeText(Login.this, "Authentication failed.", 
           Toast.LENGTH_SHORT).show(); 
         //  updateUI(null); 
        } 
       } 
      }); 
} 

Veuillez m'aider à résoudre ce problème. Cela crée un compte lorsque l'utilisateur existe déjà ou pas à chaque fois.

+0

Vérifiez ce message: https: // stackoverflow. com/questions/43030237/firebase-vérifier-email-enregistré-if-login-via-fac ebook-and-google Vous pouvez suivre si un utilisateur est nouveau ou existant en utilisant la base de données Firebase. Vous devriez construire ce mécanisme. – bojeil

Répondre

0

Vous devez avoir une instance de FirebaseAuth. Puis, dans le bloc if (task.isSuccessful()) {...}, obtenez une instance de FirebaseUser en utilisant FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();.

Après quoi vous pouvez remplacer

if (Singup == true) { // did not create account. } else { // create account; }

avec

if (firebaseUser == null) { // did not create account. } else { // create account; }

Plus de détails peuvent être trouvés sur lines 137 and 197 sample et here (Firebase google sigin doc)

+0

JazakAllah, pour votre aide, cela fonctionne pour moi Merci .. –