Erste Schritte mit der Firebase-Authentifizierung auf Websites

Sie können die Firebase-Authentifizierung verwenden, um Benutzern zu ermöglichen, sich mit einer oder mehreren Anmeldemethoden bei Ihrer App anzumelden, einschließlich der Anmeldung mit E-Mail-Adresse und Kennwort sowie föderierten Identitätsanbietern wie Google-Anmeldung und Facebook-Anmeldung. Dieses Tutorial führt Sie zu den ersten Schritten mit der Firebase-Authentifizierung, indem es Ihnen zeigt, wie Sie Ihrer App eine E-Mail-Adresse und eine Kennwortanmeldung hinzufügen.

Verbinden Sie Ihre App mit Firebase

Installieren Sie das SDK Firebase . Stellen Sie sicher, dass Sie den Konfigurationscode wie beschrieben in Ihre Webseite einfügen.

(Optional) Erstellen Sie einen Prototyp und testen Sie ihn mit der Firebase Local Emulator Suite

Bevor wir darüber sprechen, wie Ihre App Benutzer authentifiziert, stellen wir eine Reihe von Tools vor, mit denen Sie Prototypen erstellen und Authentifizierungsfunktionen testen können: Firebase Local Emulator Suite. Wenn Sie sich zwischen Authentifizierungstechniken und -anbietern entscheiden, verschiedene Datenmodelle mit öffentlichen und privaten Daten mithilfe von Authentifizierungs- und Firebase-Sicherheitsregeln ausprobieren oder Prototypen von Anmelde-UI-Designs erstellen, kann es eine gute Idee sein, lokal arbeiten zu können, ohne Live-Dienste bereitzustellen .

Ein Authentifizierungsemulator ist Teil der Local Emulator Suite, die es Ihrer App ermöglicht, mit emulierten Datenbankinhalten und -konfigurationen sowie optional mit Ihren emulierten Projektressourcen (Funktionen, andere Datenbanken und Sicherheitsregeln) zu interagieren.

Die Verwendung des Authentifizierungsemulators umfasst nur wenige Schritte:

  1. Hinzufügen einer Codezeile zur Testkonfiguration Ihrer App, um eine Verbindung mit dem Emulator herzustellen.
  2. Von der Wurzel Ihrer lokalen Projektverzeichnis, laufen firebase emulators:start .
  3. Verwenden der Benutzeroberfläche der Local Emulator Suite für interaktives Prototyping oder der REST-API des Authentifizierungsemulators für nicht interaktives Testen.

Eine detaillierte Anleitung finden Sie unter Connect Ihre App auf die Authentifizierung Emulator . Weitere Informationen finden Sie in der Local Emulator Suite Einführung .

Fahren wir nun mit der Authentifizierung von Benutzern fort.

Registrieren Sie neue Benutzer

Erstellen Sie ein Formular, das es neuen Benutzern ermöglicht, sich mit ihrer E-Mail-Adresse und einem Passwort bei Ihrer App zu registrieren. Wenn ein Benutzer das Formular ausfüllt, bestätigt die E - Mail - Adresse und das Passwort durch den Benutzer zur Verfügung gestellt und sie dann zum Pass createUserWithEmailAndPassword Methode:

Webversion 9

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;
    // ..
  });

Webversion 8

firebase.auth().createUserWithEmailAndPassword(email, password)
  .then((userCredential) => {
    // Signed in 
    var user = userCredential.user;
    // ...
  })
  .catch((error) => {
    var errorCode = error.code;
    var errorMessage = error.message;
    // ..
  });

Melden Sie vorhandene Benutzer an

Erstellen Sie ein Formular, das es bestehenden Benutzern ermöglicht, sich mit ihrer E-Mail-Adresse und ihrem Passwort anzumelden. Wenn ein Benutzer das Formular ausfüllt, rufen Sie die signInWithEmailAndPassword Methode:

Webversion 9

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;
  });

Webversion 8

firebase.auth().signInWithEmailAndPassword(email, password)
  .then((userCredential) => {
    // Signed in
    var user = userCredential.user;
    // ...
  })
  .catch((error) => {
    var errorCode = error.code;
    var errorMessage = error.message;
  });

Legen Sie einen Authentifizierungszustandsbeobachter fest und rufen Sie Benutzerdaten ab

Fügen Sie für jede Seite Ihrer App, die Informationen über den angemeldeten Benutzer benötigt, einen Beobachter an das globale Authentifizierungsobjekt an. Dieser Beobachter wird immer dann aufgerufen, wenn sich der Anmeldestatus des Benutzers ändert.

Befestigen der Beobachter die Verwendung onAuthStateChanged Methode. Wenn sich ein Benutzer erfolgreich anmeldet, können Sie Informationen über den Benutzer im Observer abrufen.

Webversion 9

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/firebase.User
    const uid = user.uid;
    // ...
  } else {
    // User is signed out
    // ...
  }
});

Webversion 8

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/firebase.User
    var uid = user.uid;
    // ...
  } else {
    // User is signed out
    // ...
  }
});

Nächste Schritte

Erfahren Sie, wie Sie Unterstützung für andere Identitätsanbieter und anonyme Gastkonten hinzufügen: