Za pomocą uwierzytelniania Firebase możesz umożliwić użytkownikom uwierzytelnianie przy użyciu Firebase za pomocą adresów e-mail i haseł.
Zanim zaczniesz
W razie potrzeby wykonaj czynności opisane w przewodniku Pierwsze kroki.
Włącz logowanie za pomocą adresu e-mail/hasła:
- W sekcji Uwierzytelnianie w konsoli Firebase otwórz Metoda logowania stronę.
- Na stronie Metoda logowania włącz Logowanie przy użyciu adresu e-mail i hasła. i kliknij Zapisz.
Tworzenie konta opartego na haśle
Aby utworzyć nowe konto użytkownika z hasłem, wywołaj 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 odbywa się to na ekranie rejestracji w aplikacji. Gdy nowy użytkownik zarejestrować się przy użyciu formularza rejestracyjnego aplikacji, a następnie przeprowadzić ponowną weryfikację konta. czynności wymaganych przez aplikację, takich jak weryfikacja hasła do nowego konta jest poprawnie napisany i spełnia wymagania dotyczące złożoności.
Jeśli nowe konto zostało utworzone, użytkownik jest zalogowany. Jeśli nasłuchują zmian stanu uwierzytelniania, nowego zostanie wysłane do detektorów.
Po utworzeniu nowego konta możesz Potwierdź adres e-mail użytkownika.
Logowanie użytkownika za pomocą adresu e-mail i hasła
Procedury logowania użytkownika za pomocą hasła są podobne do tych na stronie
tworzenia nowego konta. Na ekranie logowania aplikacji zadzwoń:
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
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();