Meine App verwendet die Firebase-Authentifizierung bei zwei Anbietern (E-Mail / Passwort und Google SignIn). Ich fordere jedoch, dass alle meine Benutzer ein Passwort haben, damit sie sich mit jedem dieser Anbieter anmelden können. Jetzt möchte ich, dass sich jeder Benutzer anmeldet Wenn Sie einen anderen Anbieter als E-Mail / Passwort verwenden, sollten Sie aufgefordert werden, sofort ein Passwort zu erstellen. Ich kann jedoch keine Methode im SDK finden, um zu überprüfen, ob ein Benutzer ein Passwort hat.
Ich habe versucht, dies mit der folgenden Methode zu überprüfen, aber meiner Beobachtung nach wird nur der Anbieter überprüft, mit dem sich der Benutzer angemeldet hat.
for(UserInfo info : currentUser.getProviderData()) {
if(!info.getProviderId().equals("password")) {
ShowUpdateUserPasswordDialog("CREATE",currentUser);
} else {
MoveToMainActivity();
}
break;
}
Ich fordere alle meine Benutzer auf, ein Passwort zu haben, damit sie sich mit einem dieser Anbieter anmelden können
Die Firebase-Authentifizierung mit E-Mail und Passwort ist ein völlig anderer Authentifizierungsmechanismus als die Authentifizierung beim Google-Anbieter.
Jetzt möchte ich, dass jeder Benutzer, der sich mit einem anderen Anbieter als E-Mail / Passwort anmeldet, aufgefordert wird, sofort ein Passwort zu erstellen
Wenn der Nutzer sich bei Google angemeldet hat, warum sollten Sie ihn dann zur Eingabe eines Passworts zwingen? Das ist die ganze Idee, kein Passwort mehr zu verwenden. Außerdem können Sie den Benutzer von Anfang an auswählen lassen, welche Art von Authentifizierung verwendet werden soll. Es ist eine Art schlechte Benutzererfahrung, den Benutzer zu zwingen, die eine oder die andere oder beide zu wählen.
Wenn Sie den Benutzer dennoch zur Auswahl eines Kennworts zwingen möchten, müssen Sie den Benutzer zuerst von Google und Firebase abmelden, damit er sich erneut mit E-Mail und Kennwort anmelden kann. Sie können dies im Hintergrund tun, aber wie steht es mit der Situation, in der der Nutzer ein Kennwort für das bereits verwendete Google Mail-Konto auswählen möchte? In dieser Situation wird eine Fehlermeldung angezeigt, dass das Konto mit dieser bestimmten E-Mail bereits vorhanden ist.
Ich kann jedoch keine Methode im SDK finden, um zu überprüfen, ob ein Benutzer ein Kennwort hat
Sie haben so etwas nicht gefunden, weil so etwas nicht existiert.
IMHO, eine Operation könnte als schlechte Praxis angesehen werden, und ich sehe keinen Grund dafür. Sie sollten den Benutzer die Art der Authentifizierung nach eigenem Willen auswählen lassen.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen