Możesz użyć uwierzytelniania Firebase, aby umożliwić użytkownikom logowanie się do Twojej aplikacji przy użyciu jednej lub kilku metod logowania, w tym logowania za pomocą adresu e-mail i hasła, oraz federacyjnych dostawców tożsamości, takich jak logowanie przez Google i logowanie na Facebooku. Ten samouczek pomoże Ci rozpocząć korzystanie z uwierzytelniania Firebase, pokazując, jak dodać adres e-mail i hasło logowania do aplikacji.
Dodaj i zainicjuj zestaw SDK uwierzytelniania
Jeśli jeszcze tego nie zrobiłeś, zainstaluj Firebase JS SDK i zainicjuj Firebase .
Dodaj zestaw SDK Firebase Authentication JS SDK i zainicjuj uwierzytelnianie Firebase:
Modułowy interfejs API sieci Web
import { initializeApp } from "firebase/app"; import { getAuth } from "firebase/auth"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Firebase Authentication and get a reference to the service const auth = getAuth(app);
Internetowy interfejs API z przestrzenią nazw
import firebase from "firebase/compat/app"; import "firebase/auth"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Firebase Authentication and get a reference to the service const auth = firebase.auth();
(Opcjonalnie) Prototypuj i testuj za pomocą Firebase Local Emulator Suite
Zanim porozmawiamy o tym, jak Twoja aplikacja uwierzytelnia użytkowników, przedstawmy zestaw narzędzi, których możesz użyć do prototypowania i testowania funkcji uwierzytelniania: Firebase Local Emulator Suite. Jeśli decydujesz między technikami uwierzytelniania i dostawcami, wypróbowujesz różne modele danych z danymi publicznymi i prywatnymi za pomocą reguł uwierzytelniania i Firebase Security Rules lub prototypujesz projekty interfejsów logowania, możliwość pracy lokalnej bez wdrażania usług na żywo może być świetnym pomysłem .
Emulator uwierzytelniania jest częścią pakietu Local Emulator Suite, który umożliwia aplikacji interakcję z emulowaną zawartością i konfiguracją bazy danych, a także opcjonalnie z emulowanymi zasobami projektu (funkcje, inne bazy danych i reguły zabezpieczeń).
Korzystanie z emulatora uwierzytelniania obejmuje tylko kilka kroków:
- Dodanie wiersza kodu do konfiguracji testowej aplikacji w celu nawiązania połączenia z emulatorem.
- Z katalogu głównego lokalnego katalogu projektu, uruchamiając
firebase emulators:start
. - Korzystanie z interfejsu użytkownika Local Emulator Suite do interaktywnego prototypowania lub interfejsu API REST emulatora uwierzytelniania do testowania nieinterakcyjnego.
Szczegółowy przewodnik jest dostępny na stronie Łączenie aplikacji z emulatorem uwierzytelniania . Aby uzyskać więcej informacji, zobacz Wprowadzenie do pakietu Local Emulator Suite .
Przejdźmy teraz do sposobu uwierzytelniania użytkowników.
Zarejestruj nowych użytkowników
Utwórz formularz, który pozwoli nowym użytkownikom zarejestrować się w Twojej aplikacji przy użyciu adresu e-mail i hasła. Gdy użytkownik wypełni formularz, sprawdź adres e-mail i hasło podane przez użytkownika, a następnie przekaż je do metody createUserWithEmailAndPassword
:
Web modular API
import { getAuth, createUserWithEmailAndPassword } from "firebase/auth"; const auth = getAuth(); createUserWithEmailAndPassword(auth, email, password) .then((userCredential) => { // Signed in const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; // .. });
Web namespaced API
firebase.auth().createUserWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; // .. });
Zaloguj się istniejących użytkowników
Utwórz formularz, który umożliwia istniejącym użytkownikom logowanie się przy użyciu adresu e-mail i hasła. Gdy użytkownik wypełni formularz, wywołaj metodę signInWithEmailAndPassword
:
Web modular API
import { getAuth, signInWithEmailAndPassword } from "firebase/auth"; const auth = getAuth(); signInWithEmailAndPassword(auth, email, password) .then((userCredential) => { // Signed in const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; });
Web namespaced API
firebase.auth().signInWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; });
Ustaw obserwatora stanu uwierzytelniania i uzyskaj dane użytkownika
Dla każdej strony aplikacji, która potrzebuje informacji o zalogowanym użytkowniku, dołącz obserwatora do globalnego obiektu uwierzytelniania. Ten obserwator jest wywoływany za każdym razem, gdy zmienia się stan logowania użytkownika.
Dołącz obserwatora za pomocą metody onAuthStateChanged
. Gdy użytkownik pomyślnie się zaloguje, możesz uzyskać informacje o użytkowniku w obserwatorze.
Web modular API
import { getAuth, onAuthStateChanged } from "firebase/auth"; const auth = getAuth(); onAuthStateChanged(auth, (user) => { if (user) { // User is signed in, see docs for a list of available properties // https://firebase.google.com/docs/reference/js/auth.user const uid = user.uid; // ... } else { // User is signed out // ... } });
Web namespaced API
firebase.auth().onAuthStateChanged((user) => { if (user) { // User is signed in, see docs for a list of available properties // https://firebase.google.com/docs/reference/js/v8/firebase.User var uid = user.uid; // ... } else { // User is signed out // ... } });
Następne kroki
Dowiedz się, jak dodać obsługę innych dostawców tożsamości i anonimowych kont gości:
- Logowanie Google
- Nazwa użytkownika Facebook
- Zaloguj się na Twitterze
- Logowanie do GitHuba
- Logowanie anonimowe