So stellen Sie fest, ob ein Firebase-Benutzer mit der Facebook-Authentifizierung angemeldet ist

Ich verwende Firebase von Google und habe Probleme mit der Benutzerauthentifizierung. Nach dem Einloggen mit Facebook erhalte ich FirebaseUser in AuthStateListener, aber wie kann ich feststellen, ob dieser Benutzer über Facebook oder anders eingeloggt ist?

UPDATE Wie @Frank van Puffelen sagte FirebaseAuth.getInstance (). GetCurrentUser (). GetProviderId () sollte "facebook" zurückgeben, aber in meinem Fall "firebase". Jetzt kann ich nicht herausfinden, was der Grund für dieses Verhalten ist. Als ich FacebookToken bekam, mache ich so etwas:

        AuthCredential credential = FacebookAuthProvider.getCredential(facebookToken.getToken());
        mAuth.signInWithCredential(credential)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {

                        // 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()) {

                        }

                    }
                });

Und nachdem die onComplete () -Methode aufgerufen wurde, ruft mein AuthStateListener den Benutzer ab, dessen Provider-ID nicht "facebook" ist, wie es sein sollte. Mache ich etwas falsch? Ich folgte offiziellen googleDokumentatio

Antworten auf die Frage(8)

Ihre Antwort auf die Frage