Firebase Auth - mit E-Mail und Passwort - Überprüfen Sie bereits registrierte Benutzer

8

Ich möchte überprüfen, ob ein Benutzer versucht, sich mit der Authentifizierungsmethode "Firebase-Benutzer" in createUserWithEmailAndPassword() anzumelden. Dieser Nutzer ist bereits in meiner App registriert.

    
Coolbub 13.10.2016, 05:16
quelle

8 Antworten

9

Wenn der Benutzer versucht, einen Benutzer mit derselben E-Mail-Adresse zu erstellen, lautet die Aufgabenantwort "Antwort: Die E-Mail-Adresse wird bereits von einem anderen Konto verwendet."

%Vor%

    
Srinivasan 13.10.2016 05:44
quelle
9

Um festzustellen, ob ein Benutzer mit dieser E-Mail-Adresse bereits existiert, können Sie erkennen, wenn der Aufruf von createUserWithEmailAndPassword () mit auth/email-already-in-use fehlschlägt. Ich sehe, dass @Srinivasan gerade eine Antwort dafür gepostet hat.

Alternativ können Sie feststellen, dass eine E-Mail-Adresse bereits verwendet wird, indem Sie fetchProvidersForEmail() aufrufen: Ссылка

    
Frank van Puffelen 13.10.2016 05:46
quelle
5

Zunächst müssen Sie sicherstellen, dass diese Einschränkung in der Firebase-Konsole aktiviert ist (Einstellungen für Konto und E-Mail-Adresse). Sehen Sie sich @ Srinivasans Antwort an.

Dann mach das in deinem Java-Code:

%Vor%

Hier kommt der Trick vor:

%Vor%

Bei der Registrierung eines Benutzers mit E-Mail und Passwort können mehrere Ausnahmen ausgelöst werden, aber die, an der wir interessiert sind, ist FirebaseAuthUserCollisionException . Wie der Name schon sagt, wird diese Ausnahme ausgelöst, wenn die E-Mail bereits existiert. Wenn die ausgelöste Ausnahme eine Instanz dieser Klasse ist, informieren Sie den Benutzer.

    
ojonugwa ochalifu 27.12.2016 18:07
quelle
3

Als eine Praxis von @ Franks Antwort hier ist der Code der Verwendung von fetchProvidersForEmail()

%Vor%     
Dasser Basyouni 02.04.2017 13:34
quelle
1

Ich habe diese Art von Bedingung untersucht, in der wir feststellen können, ob ein Benutzer existiert oder nicht und eine Registrierung und Anmeldung durchführt. fetchProvidersForEmail ist momentan die beste Option. Ich habe dieses Tutorial gefunden. Hoffe es hilft dir auch!

    
Akshay Taru 28.01.2018 08:53
quelle
0
%Vor%     
Annemarie Rinyu 14.10.2017 11:49
quelle
0

Fügen Sie den folgenden Code zur Datei MainActivity.java hinzu. Wenn der Benutzer versucht, sich mit derselben E-Mail-Adresse zu registrieren, wird die Meldung "Die E-Mail-Adresse wird bereits von einem anderen Konto verwendet" als angezeigt Toast

%Vor%     
Md Nakibul Hassan 23.10.2017 09:54
quelle
-1

Sie müssen nichts tun, weil das Backend von Firebase die Aufgabe erledigt.

Es sei denn, Sie beziehen sich auf die erneute Authentifizierung der App. Nehmen Sie ein Szenario für ein Beispiel, w

    
charlinagnes 19.01.2017 14:48
quelle