Mit Firebase Authentication können sich Nutzer mit E-Mail-Adressen und Passwörtern bei Firebase authentifizieren.
Hinweis
Folgen Sie gegebenenfalls der Anleitung im Leitfaden Erste Schritte.
Aktivieren Sie E-Mail/Passwort als Anmeldeanbieter für Ihr Firebase-Projekt:
Wechseln Sie in der Firebase Konsole zu Sicherheit > Authentifizierung.
Aktivieren Sie auf dem Tab Anmeldemethode den Anmeldeanbieter E-Mail/Passwort.
Klicken Sie auf Speichern.
Passwortbasiertes Konto erstellen
Rufen Sie die Methode createUserWithEmailAndPassword() auf, um ein neues Nutzerkonto mit einem Passwort zu erstellen:
try {
final credential = await FirebaseAuth.instance.createUserWithEmailAndPassword(
email: emailAddress,
password: password,
);
} on FirebaseAuthException catch (e) {
if (e.code == 'weak-password') {
print('The password provided is too weak.');
} else if (e.code == 'email-already-in-use') {
print('The account already exists for that email.');
}
} catch (e) {
print(e);
}
Normalerweise erfolgt dies über den Registrierungsbildschirm Ihrer App. Wenn sich ein neuer Nutzer über das Registrierungsformular Ihrer App anmeldet, führen Sie alle Schritte zur Validierung des neuen Kontos aus, die Ihre App erfordert. Prüfen Sie beispielsweise, ob das Passwort des neuen Kontos korrekt eingegeben wurde und die Komplexitätsanforderungen erfüllt.
Wenn das neue Konto erfolgreich erstellt wurde, wird der Nutzer auch angemeldet. Wenn Sie auf Änderungen des Authentifizierungsstatus achten, wird ein neues Ereignis an Ihre Listener gesendet.
Nachdem Sie ein neues Konto erstellt haben, können Sie die E-Mail-Adresse des Nutzers bestätigen.
Nutzer mit E-Mail-Adresse und Passwort anmelden
Die Schritte zum Anmelden eines Nutzers mit einem Passwort ähneln denen zum Erstellen eines neuen Kontos. Rufen Sie auf dem Anmeldebildschirm Ihrer App signInWithEmailAndPassword() auf:
try {
final credential = await FirebaseAuth.instance.signInWithEmailAndPassword(
email: emailAddress,
password: password
);
} on FirebaseAuthException catch (e) {
if (e.code == 'user-not-found') {
print('No user found for that email.');
} else if (e.code == 'wrong-password') {
print('Wrong password provided for that user.');
}
}
Nächste Schritte
Nachdem ein Nutzer ein neues Konto erstellt hat, wird dieses Konto als Teil Ihres Firebase-Projekts gespeichert und kann verwendet werden, um einen Nutzer in allen Apps Ihres Projekts zu identifizieren, unabhängig davon, welche Anmeldemethode der Nutzer verwendet hat.
In Ihren Apps können Sie die grundlegenden Profilinformationen des Nutzers aus dem User-Objekt abrufen. Weitere Informationen finden Sie unter Nutzer verwalten.
In den Sicherheitsregeln für die Firebase Realtime Database und Cloud Storage können Sie die eindeutige Nutzer-ID des angemeldeten Nutzers aus der Variablen auth abrufen und damit steuern, auf welche Daten ein Nutzer zugreifen kann.
Sie können Nutzern erlauben, sich mit mehreren Authentifizierungs anbietern in Ihrer App anzumelden, indem Sie Anmeldedaten des Authentifizierungsanbieters) mit einem vorhandenen Nutzerkonto verknüpfen.
Rufen Sie signOut() auf, um einen Nutzer abzumelden:
await FirebaseAuth.instance.signOut();