Sie können Firebase Authentication in ein benutzerdefiniertes Authentifizierungssystem einbinden, indem Sie Ihren Authentifizierungsserver so ändern, dass er benutzerdefinierte signierte Tokens erstellt, wenn sich ein Nutzer erfolgreich anmeldet. Ihre App erhält dieses Token und verwendet es zur Authentifizierung bei Firebase.
Hinweis
- Folgen Sie gegebenenfalls der Anleitung unter Erste Schritte.
- Installieren und konfigurieren Sie das Firebase Admin SDK. Achten Sie darauf, das SDK mit den richtigen Anmeldedaten für Ihr Firebase-Projekt zu initialisieren.
Bei Firebase authentifizieren
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 und erstellt bei Gültigkeit ein benutzerdefiniertes Firebase-Token , das er an Ihre App zurücksendet.
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 als Teil Ihres Firebase-Projekts gespeichert. Es 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 von Authentifizierungsanbietern) mit einem vorhandenen Nutzerkonto verknüpfen.
Rufen Sie signOut() auf, um einen Nutzer abzumelden:
await FirebaseAuth.instance.signOut();