Mit Firebase über ein benutzerdefiniertes Authentifizierungssystem authentifizieren
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Sie können Firebase Authentication in ein benutzerdefiniertes Authentifizierungssystem einbinden, indem Sie Ihren Authentifizierungsserver so ändern, dass benutzerdefinierte signierte Tokens generiert werden, wenn sich ein Nutzer erfolgreich anmeldet. Ihre App empfängt dieses Token und verwendet es, um sich bei Firebase zu authentifizieren.
Hinweis
Falls noch nicht geschehen, folgen Sie der Anleitung im Startleitfaden.
Wenn sich Nutzer in Ihrer App anmelden, senden Sie ihnen ihre Anmeldedaten (für
(z. B. Nutzername und Passwort) an Ihren Authentifizierungsserver. Ihr
die Anmeldedaten überprüft und, sofern sie gültig sind,
benutzerdefiniertes Firebase-Token erstellt
und sendet das Token
zurück an Ihre App.
Nachdem Sie das benutzerdefinierte Token von Ihrem Authentifizierungsserver erhalten haben, übergeben Sie es
an signInWithCustomToken(), um den Nutzer anzumelden:
try{finaluserCredential=awaitFirebaseAuth.instance.signInWithCustomToken(token);print("Sign-in successful.");}onFirebaseAuthExceptioncatch(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
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.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-25 (UTC)."],[],[],null,["# Authenticate with Firebase Using a Custom Authentication System\n\n\u003cbr /\u003e\n\nYou can integrate Firebase Authentication with a custom authentication system by\nmodifying your authentication server to produce custom signed tokens when a user\nsuccessfully signs in. Your app receives this token and uses it to authenticate\nwith Firebase.\n\nBefore you begin\n----------------\n\n1. If you haven't already, follow the steps in the [Get started](/docs/auth/flutter/start) guide.\n2. [Install and configure the Firebase Admin SDK](/docs/admin/setup). Be sure to [initialize the SDK](/docs/admin/setup#initialize-sdk) with the correct credentials for your Firebase project.\n\nAuthenticate with Firebase\n--------------------------\n\n1. When users sign in to your app, send their sign-in credentials (for\n example, their username and password) to your authentication server. Your\n server checks the credentials and, if they are valid,\n [creates a custom Firebase token](/docs/auth/admin/create-custom-tokens)\n and sends the token back to your app.\n\n2. After you receive the custom token from your authentication server, pass it\n to `signInWithCustomToken()` to sign in the user:\n\n try {\n final userCredential =\n await FirebaseAuth.instance.signInWithCustomToken(token);\n print(\"Sign-in successful.\");\n } on FirebaseAuthException catch (e) {\n switch (e.code) {\n case \"invalid-custom-token\":\n print(\"The supplied token is not a Firebase custom auth token.\");\n break;\n case \"custom-token-mismatch\":\n print(\"The supplied token is for a different Firebase project.\");\n break;\n default:\n print(\"Unknown error.\");\n }\n }\n\nNext steps\n----------\n\nAfter a user creates a new account, this account is stored as part of your\nFirebase project, and can be used to identify a user across every app in your\nproject, regardless of what sign-in method the user used.\n\nIn your apps, you can get the user's basic profile information from the\n`User` object. See [Manage Users](/docs/auth/flutter/manage-users).\n\nIn your Firebase Realtime Database and Cloud Storage Security Rules, you can\nget the signed-in user's unique user ID from the `auth` variable, and use it to\ncontrol what data a user can access.\n\nYou can allow users to sign in to your app using multiple authentication\nproviders by [linking auth provider credentials](/docs/auth/flutter/account-linking)) to an\nexisting user account.\n\nTo sign out a user, call `signOut()`: \n\n await FirebaseAuth.instance.signOut();"]]