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.
- Zainstaluj i skonfiguruj pakiet SDK Firebase Admin.
Pamiętaj, aby zainicjować pakiet SDK.
z danymi logowania do projektu Firebase.
Uwierzytelnij za pomocą Firebase
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 {
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.");
}
}
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()
:
await FirebaseAuth.instance.signOut();
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-25 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-25 UTC."],[],[],null,["\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\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\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\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();"]]