2016-06-09 5 views
7

Ich arbeite an einem angularfire-Projekt und ich würde gerne wissen, wie ich einen Benutzer in Firebase 3 erstellen und einmal den angegebenen Benutzer nicht authentifizieren kann. In der vorherigen Firebase-Version hatten wir die Methode createUser (email, password). Jetzt haben wir nur die Methode createUserWithEmailAndPassword (email, password), es erstellt und authentifiziert den angegebenen Benutzer.Wie erstellt man einfach einen Benutzer in Firebase 3 und authentifiziert ihn nicht?

+0

Können Sie eine kurze Erklärung, warum Sie nicht möchten, authentifizieren? – theblindprophet

+0

Sicher. Stellen Sie sich vor, ich bin der Administrator und ich möchte einen neuen Benutzer für mein System erstellen und einige Berechtigungen festlegen, einige Informationen bearbeiten usw. Warum muss ich das nach der Benutzererstellung authentifizieren? Die Authentifizierung sollte vorgenommen werden, wenn sich der Benutzer anmelden möchte, oder? Wer das Konto erstellt, ist nicht der richtige Benutzer. – gcfabri

+0

Mögliches Duplikat von [Firebase startet aktuellen Benutzer] (http://stackoverflow.com/questions/37517208/firebase-kicks-out-current-user) –

Antwort

5

Die Antwort auf die Frage lautet: Sie können nicht.

Wir haben ähnliche Situation, wo wir 'Admin' Benutzer haben, die andere Benutzer erstellen können. Mit 2.x war das ein Kinderspiel. Mit 3.x ist es ein Fehler, da diese Fähigkeit vollständig entfernt wurde.

Wenn Sie einen Benutzer in 3.x erstellen authentifizieren Sie als dieser Benutzer und unauthenticate das Konto, das angemeldet ist

Dies geht tiefer als Sie dann erneut authentifizieren brauchen würde, einen anderen Benutzer zu erstellen. also macht der Admin das entweder manuell oder (cringe) speichert die Authentifizierungsdaten lokal, so dass es ein automatisierter Prozess sein könnte (cringe cringe, bitte tu dies nicht)

Firebase hat öffentlich betont, dass 2.x weiterhin sein wird unterstützt, so dass Sie nur 3.x vermeiden möchten.

Update:

einer der Firebaser der kam tatsächlich mit einer Vermeidung des Problems auf diese auf. Konzeptionell hatten Sie einen Admin-Benutzer angemeldet. Sie erstellen dann eine zweite Verbindung zu Firebase und authentifizieren sich mit einem anderen Benutzer, diese Verbindung erstellt dann den neuen Benutzer. Spülen - wiederholen.

-Update wieder

diese Frage sehen und beantworten

Firebase kicks out current user

+0

Ich muss die neue Konsole mit Firebase 2 oder die vorherige wird beibehalten werden? – gcfabri

+0

Die neue Konsole funktioniert gut mit v2.x oder v3.x der API. Sie sollten weiterhin die 2.x-API verwenden, um die von Ihnen benötigte Funktionalität zu erhalten. – Jay

+0

Danke. Ich dachte über eine Umgehung dieser Situation nach. Ich werde eine Warteschlangenliste erstellen, die durch eine neue Methode erstellt wurde, die wir 'queueNewUser()' nennen können. Ich kann die bereitgestellten Daten in einem neuen Eintrag in der Datenbank speichern. Auf meiner Anmeldeseite überprüfen wir vor dem Firebase-Login mit der Methode signInWithEmailAndPassword(), ob sich die E-Mail in der Warteschlangenliste befindet. Wenn ja, verwenden Sie die Methode createUserWithEmailAndPassword() und entfernt den Index aus der Liste. Wenn nicht, verwenden Sie signInWithEmailAndPassword(). Ich kann damit leben, was denkst du? – gcfabri

Verwandte Themen