Uwierzytelniaj w Firebase z użyciem niestandardowego systemu uwierzytelniania
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Uwierzytelnianie Firebase możesz zintegrować z niestandardowym systemem uwierzytelniania przez
modyfikowanie serwera uwierzytelniania w celu tworzenia niestandardowych podpisanych tokenów,
udało się zalogować. Twoja aplikacja otrzymuje ten token i używa go do uwierzytelniania
za pomocą Firebase.
Zanim zaczniesz
W razie potrzeby wykonaj czynności opisane w przewodniku Pierwsze kroki.
Gdy użytkownicy logują się w Twojej aplikacji, wyślij swoje dane logowania (na przykład
(np. nazwę użytkownika i hasło) na Twój serwer uwierzytelniania. Twoje
serwer sprawdza dane logowania i, jeśli są prawidłowe,
tworzy niestandardowy token Firebase.
i wysyła token z powrotem do aplikacji.
Po otrzymaniu niestandardowego tokena z serwera uwierzytelniania przekaż go
do signInWithCustomToken(), aby zalogować użytkownika:
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.");}}
Dalsze kroki
Gdy użytkownik utworzy nowe konto, zostanie ono zapisane w ramach
projektu Firebase i możesz go użyć do identyfikacji użytkownika w każdej aplikacji
niezależnie od użytej metody logowania.
W swoich aplikacjach możesz uzyskać podstawowe informacje o profilu użytkownika z
User obiekt. Zobacz Zarządzanie użytkownikami.
W Bazie danych czasu rzeczywistego Firebase i regułach zabezpieczeń Cloud Storage możesz:
pobierz ze zmiennej auth unikalny identyfikator zalogowanego użytkownika i użyj go do
kontrolować dostęp użytkownika do danych.
Możesz zezwolić użytkownikom na logowanie się w aplikacji przy użyciu wielokrotnego uwierzytelniania.
dostawców, łącząc dane logowania dostawcy uwierzytelniania) z
istniejącego konta użytkownika.
Aby wylogować użytkownika, zadzwoń pod numer signOut():
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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();"]]