Uwierzytelniaj za pomocą Firebase za pomocą kont opartych na haśle we Flutter

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

  1. W razie potrzeby wykonaj czynności opisane w przewodniku Pierwsze kroki.

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