Uwierzytelnianie Firebase umożliwia uwierzytelnianie użytkowników w Firebase przy użyciu adresów e-mail i haseł.
Zanim zaczniesz
Jeśli nie została jeszcze przeprowadzona, wykonaj kroki opisane w przewodniku Pierwsze kroki.
Włącz logowanie się przy użyciu adresu e-mail i hasła:
- W sekcji Uwierzytelnianie w konsoli Firebase otwórz stronę Metoda logowania.
- Na stronie Metoda logowania włącz metodę Logowanie za pomocą adresu e-mail i hasła i kliknij Zapisz.
Tworzenie konta z hasłem
Aby utworzyć nowe konto użytkownika z hasłem, wywołaj metodę createUserWithEmailAndPassword():
try {
final credential = await FirebaseAuth.instance.createUserWithEmailAndPassword(
email: emailAddress,
password: password,
);
} on FirebaseAuthException catch (e) {
if (e.code == 'weak-password') {
print('The password provided is too weak.');
} else if (e.code == 'email-already-in-use') {
print('The account already exists for that email.');
}
} catch (e) {
print(e);
}
Zwykle możesz to zrobić na ekranie rejestracji w aplikacji. Gdy nowy użytkownik zarejestruje się za pomocą formularza rejestracyjnego w Twojej aplikacji, wykonaj wszystkie wymagane przez nią kroki weryfikacji nowego konta, np. sprawdź, czy hasło do nowego konta zostało wpisane prawidłowo i czy spełnia Twoje wymagania dotyczące złożoności.
Jeśli nowe konto zostało utworzone, użytkownik jest też zalogowany. Jeśli monitorujesz zmiany stanu uwierzytelniania, do detektorów zostanie wysłane nowe zdarzenie.
Po utworzeniu nowego konta możesz zweryfikować adres e-mail użytkownika.
Logowanie użytkownika za pomocą adresu e-mail i hasła
Czynności związane z logowaniem użytkownika za pomocą hasła są podobne do czynności związanych z tworzeniem nowego konta. Na ekranie logowania aplikacji wywołaj:signInWithEmailAndPassword()
try {
final credential = await FirebaseAuth.instance.signInWithEmailAndPassword(
email: emailAddress,
password: password
);
} on FirebaseAuthException catch (e) {
if (e.code == 'user-not-found') {
print('No user found for that email.');
} else if (e.code == 'wrong-password') {
print('Wrong password provided for that user.');
}
}
Dalsze kroki
Po utworzeniu przez użytkownika nowego konta jest ono przechowywane w projekcie Firebase i może służyć do identyfikowania użytkownika w każdej aplikacji w projekcie, niezależnie od metody logowania.
W aplikacjach możesz uzyskać podstawowe informacje o profilu użytkownika z obiektu
User. Zobacz Zarządzanie użytkownikami.
W regułach bezpieczeństwa Bazy danych czasu rzeczywistego Firebase i Cloud Storage możesz pobrać unikalny identyfikator zalogowanego użytkownika ze zmiennej auth i użyć go do kontrolowania, do jakich danych użytkownik ma dostęp.
Możesz zezwolić użytkownikom na logowanie się w aplikacji za pomocą wielu dostawców uwierzytelniania, łącząc dane logowania dostawcy uwierzytelniania z istniejącym kontem użytkownika.
Aby wylogować użytkownika, wywołaj funkcję signOut():
await FirebaseAuth.instance.signOut();