Sie können die Firebase-Authentifizierung verwenden, damit sich Ihre Benutzer mit E-Mail-Adressen und Kennwörtern bei Firebase authentifizieren können.
Bevor Sie beginnen
Wenn Sie dies noch nicht getan haben, folgen Sie den Schritten im Handbuch „Erste Schritte“.
Anmeldung per E-Mail/Passwort aktivieren:
- Öffnen Sie im Abschnitt Authentifizierung der Firebase-Konsole die Seite Anmeldemethode .
- Aktivieren Sie auf der Seite Anmeldemethode die Anmeldemethode E-Mail/Kennwort und klicken Sie auf Speichern .
Erstellen Sie ein passwortbasiertes Konto
Um ein neues Benutzerkonto mit einem Passwort zu erstellen, rufen Sie die Methode createUserWithEmailAndPassword()
:
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 tun Sie dies über den Anmeldebildschirm Ihrer App. Wenn sich ein neuer Benutzer über das Anmeldeformular Ihrer App anmeldet, führen Sie alle neuen Schritte zur Kontovalidierung durch, die Ihre App erfordert, wie z. B. die Überprüfung, ob das Passwort des neuen Kontos richtig eingegeben wurde und Ihren Komplexitätsanforderungen entspricht.
Wenn das neue Konto erfolgreich erstellt wurde, wird der Benutzer ebenfalls angemeldet. Wenn Sie auf Änderungen des Authentifizierungsstatus lauschen, wird ein neues Ereignis an Ihre Listener gesendet.
Als Folgemaßnahme zum Erstellen eines neuen Kontos können Sie die E-Mail-Adresse des Benutzers bestätigen .
Melden Sie einen Benutzer mit einer E-Mail-Adresse und einem Kennwort an
Die Schritte zum Anmelden eines Benutzers mit einem Passwort ähneln den Schritten zum Erstellen eines neuen Kontos. Rufen Sie auf dem Anmeldebildschirm Ihrer App signInWithEmailAndPassword()
:
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 Benutzer ein neues Konto erstellt hat, wird dieses Konto als Teil Ihres Firebase-Projekts gespeichert und kann verwendet werden, um einen Benutzer in jeder App in Ihrem Projekt zu identifizieren, unabhängig davon, welche Anmeldemethode der Benutzer verwendet hat.
In Ihren Apps können Sie die grundlegenden Profilinformationen des Benutzers aus dem User
abrufen. Siehe Benutzer verwalten .
In Ihren Firebase-Echtzeitdatenbank- und Cloudspeicher-Sicherheitsregeln können Sie die eindeutige Benutzer-ID des angemeldeten Benutzers aus der auth
-Variable abrufen und damit steuern, auf welche Daten ein Benutzer zugreifen kann.
Sie können Benutzern erlauben, sich mit mehreren Authentifizierungsanbietern bei Ihrer App anzumelden, indem Sie die Anmeldeinformationen des Authentifizierungsanbieters ) mit einem vorhandenen Benutzerkonto verknüpfen .
Um einen Benutzer abzumelden, rufen signOut()
:
await FirebaseAuth.instance.signOut();