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();