Mit Firebase über ein benutzerdefiniertes Authentifizierungssystem authentifizieren

Sie können Firebase Authentication in ein benutzerdefiniertes Authentifizierungssystem einbinden, indem Sie Ihren Authentifizierungsserver so ändern, dass er benutzerdefinierte signierte Tokens generiert, wenn sich ein Nutzer erfolgreich anmeldet. Ihre App empfängt dieses Token und verwendet es zur Authentifizierung bei Firebase.

Hinweis

  1. Falls noch nicht geschehen, folgen Sie der Anleitung unter Erste Schritte.
  2. Installieren und konfigurieren Sie das Firebase Admin SDK. Achten Sie darauf, das SDK mit den richtigen Anmeldedaten für Ihr Firebase-Projekt zu initialisieren.

Mit Firebase authentifizieren

  1. Wenn sich Nutzer in Ihrer App anmelden, senden Sie ihre Anmeldedaten (z. B. Nutzername und Passwort) an Ihren Authentifizierungsserver. Ihr Server prüft die Anmeldedaten. Wenn sie gültig sind, wird ein benutzerdefiniertes Firebase-Token erstellt und an Ihre App zurückgesendet.

  2. Nachdem Sie das benutzerdefinierte Token von Ihrem Authentifizierungsserver erhalten haben, übergeben Sie es an signInWithCustomToken(), um den Nutzer anzumelden:

    try {
        final userCredential =
            await FirebaseAuth.instance.signInWithCustomToken(token);
        print("Sign-in successful.");
    } on FirebaseAuthException catch (e) {
        switch (e.code) {
            case "invalid-custom-token":
                print("The supplied token is not a Firebase custom auth token.");
                break;
            case "custom-token-mismatch":
                print("The supplied token is for a different Firebase project.");
                break;
            default:
                print("Unknown error.");
        }
    }
    

Nächste Schritte

Wenn ein Nutzer ein neues Konto erstellt, wird dieses Konto in Ihrem Firebase-Projekt gespeichert. Es kann verwendet werden, um einen Nutzer in allen Apps in Ihrem Projekt 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 Ihren Firebase Realtime Database- und Cloud Storage-Sicherheitsregeln 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 Authentifizierungsanbietern 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();