1

Ich verwende anonyme Firebase-Authentifizierung.Firebase-Authentifizierung: Überprüfen, ob Benutzer noch vorhanden ist

Wenn ein Benutzer aus der Firebase-Konsole gelöscht wurde, glaubt der Client immer noch, dass der Benutzer existiert, da er immer noch das Token enthält.

Jedes Mal, wenn ich die App starte, möchte ich überprüfen, ob der Benutzer noch existiert. Ich habe herausgefunden, dass ich die FirebaseUser.reload() Funktion verwenden kann.

Die Dokumentation sagt, dass das Benutzerkonto, falls wird deaktiviert oder gelöscht wurde, wird die FirebaseAuthInvalidUserException geworfen werden: https://firebase.google.com/docs/reference/android/com/google/firebase/auth/FirebaseUser.html#reload()

jedoch dies ein asynchrones Funktion ist, und ich habe Schwierigkeiten herauszufinden, wie diese Ausnahme zu fangen. Kann mir jemand eine Codebeispiel zeigen, wie man diese Ausnahme fängt? Ich habe die gesamte Dokumentation gesucht, aber ich habe keine Probe darüber gefunden.

+0

Sie haben Benutzerdaten innerhalb Datenbank? –

+0

@BrunoFerreira sollte das egal sein. Ich möchte nur diese Ausnahme fangen. –

+0

Können Sie Ihre FirebaseUser.reload() -Methode hinzufügen? –

Antwort

1

Versuchen Sie folgendes:

mFirebaseUser.reload().addOnFailureListener(new OnFailureListener() { 
    @Override 
    public void onFailure(@NonNull Exception e) { 
     if (e instanceof FirebaseAuthInvalidUserException) { 
      Log.d(TheApp.LOG_TAG, "user doesn't exist anymore"); 
      createUser(); 
     } 
    } 
}); 
+0

Vielen Dank, es funktioniert mit 'addOnFailureListener' –

Verwandte Themen