Mit passwortbasierten Konten in Flutter bei Firebase authentifizieren

Sie können Firebase Authentication verwenden, damit sich Ihre Nutzer mit Firebase verwendet E-Mail-Adressen und Passwörter.

Hinweis

  1. Falls noch nicht geschehen, folgen Sie der Anleitung im Startleitfaden.

  2. Anmeldung per E-Mail-Adresse/Passwort aktivieren:

    • Öffnen Sie in der Firebase Console im Bereich Authentifizierung die Seite Anmeldemethode.
    • Aktivieren Sie auf der Seite Anmeldemethode die Anmeldung mit E-Mail-Adresse und Passwort. und klicken Sie auf Speichern.

Passwortbasiertes Konto erstellen

Rufen Sie die 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);
}

In der Regel erfolgt dies auf dem Anmeldebildschirm der App. Wenn sich ein neuer Nutzer über das Anmeldeformular Ihrer App registriert, müssen Sie alle Schritte zur Bestätigung des neuen Kontos ausführen, die für Ihre App erforderlich sind. Dazu gehört beispielsweise die Überprüfung, ob das Passwort des neuen Kontos korrekt eingegeben wurde und den Anforderungen an die Komplexität entspricht.

Wenn das neue Konto erfolgreich erstellt wurde, ist der Nutzer auch angemeldet. Wenn du Änderungen am Authentifizierungsstatus beobachtest, wird ein neues Ereignis an deine 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 für beim 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 Ihrer Firebase-Projekt erstellen und zur Identifizierung von Nutzern in jeder App in Ihrem Projekt erstellen, unabhängig von der vom Nutzer verwendeten Anmeldemethode.

Die grundlegenden Profilinformationen der Nutzer finden Sie in Ihren Apps über die User-Objekt. Weitere Informationen finden Sie unter Nutzer verwalten.

In der Firebase Realtime Database und den Cloud Storage-Sicherheitsregeln können Sie Die eindeutige Nutzer-ID des angemeldeten Nutzers aus der Variablen auth abrufen und für Folgendes verwenden: festlegen, auf welche Daten ein Nutzer zugreifen kann.

Sie können Nutzern erlauben, sich mit Mehrfachauthentifizierung in Ihrer App anzumelden durch Verknüpfen der Anmeldedaten des Authentifizierungsanbieters mit einem eines bestehenden Nutzerkontos.

Um einen Nutzer abzumelden, rufen Sie signOut() auf:

await FirebaseAuth.instance.signOut();