Uwierzytelnianie w Firebase za pomocą kont opartych na hasłach w Flutterze

Uwierzytelnianie Firebase umożliwia uwierzytelnianie użytkowników w Firebase przy użyciu adresów e-mail i haseł.

Aby uzyskać pomoc AI, skopiuj poniższy prompt do agenta kodowania AI (np. Gemini w Android Studio, Antigravity, Claude Code, Codex i Cursor). Możesz dostosować prompta i współpracować z agentem. Szczegółowe informacje o instalacji znajdziesz w sekcji Umiejętności agenta Firebase.

Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me set up and use Firebase Authentication with email and password authentication in my app.

Zanim zaczniesz

  1. Jeśli nie masz jeszcze dostępu do konta demonstracyjnego, postępuj zgodnie z instrukcjami w przewodniku Pierwsze kroki.

  2. Włącz metodę logowania E-mail/hasło w projekcie Firebase:

    1. W konsoli Firebase otwórz Bezpieczeństwo > Uwierzytelnianie.

    2. Na karcie Metoda logowania włącz dostawcę logowania E-mail/hasło.

    3. 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ą czynności weryfikacyjne, np. sprawdź, czy hasło nowego konta zostało wpisane prawidłowo i spełnia 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 ramach projektu w 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 pobierać podstawowe informacje o profilu użytkownika z obiektu User. Zobacz Zarządzanie użytkownikami.

W regułach zabezpieczeń bazy danych czasu rzeczywistego Firebase i Cloud Storage możesz pobrać unikalny identyfikator użytkownika, który jest zalogowany, 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();