Authentifizieren Sie sich bei Firebase mit passwortbasierten Konten auf Flutter

Sie können die Firebase-Authentifizierung verwenden, um Ihren Benutzern die Authentifizierung bei Firebase mithilfe von E-Mail-Adressen und Passwörtern zu ermöglichen.

Bevor Sie beginnen

  1. Wenn Sie es noch nicht getan haben, befolgen Sie die Schritte im Leitfaden „Erste Schritte“ .

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

    • Öffnen Sie im Abschnitt „Authentifizierung“ der Firebase-Konsole die Seite „Anmeldemethode“ .
    • Aktivieren Sie auf der Seite „Anmeldemethode“ die Anmeldemethode „E-Mail/Passwort“ und klicken Sie auf „Speichern“ .

Erstellen Sie ein passwortbasiertes Konto

Um ein neues Benutzerkonto mit Passwort zu erstellen, rufen Sie die Methode createUserWithEmailAndPassword() auf:

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 für Ihre App erforderlichen Validierungsschritte für das neue Konto aus, z. B. die Überprüfung, ob das Kennwort des neuen Kontos korrekt eingegeben wurde und Ihren Komplexitätsanforderungen entspricht.

Wenn das neue Konto erfolgreich erstellt wurde, ist der Benutzer auch angemeldet. Wenn Sie Änderungen im Authentifizierungsstatus abhören, wird ein neues Ereignis an Ihre Zuhörer gesendet.

Im Anschluss an die Erstellung eines neuen Kontos können Sie die E-Mail-Adresse des Benutzers überprüfen .

Melden Sie einen Benutzer mit einer E-Mail-Adresse und einem Passwort 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() 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 Benutzer ein neues Konto erstellt hat, wird dieses Konto als Teil Ihres Firebase-Projekts gespeichert und kann zur Identifizierung eines Benutzers in jeder App in Ihrem Projekt verwendet werden, unabhängig davon, welche Anmeldemethode der Benutzer verwendet hat.

In Ihren Apps können Sie die grundlegenden Profilinformationen des Benutzers aus dem User Objekt abrufen. Siehe Benutzer verwalten .

In Ihren Firebase-Echtzeitdatenbank- und Cloud-Speicher-Sicherheitsregeln können Sie die eindeutige Benutzer-ID des angemeldeten Benutzers aus der auth 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 Sie signOut() auf:

await FirebaseAuth.instance.signOut();