Catch up on everthing we announced at this year's Firebase Summit. Learn more

Premiers pas avec l'authentification Firebase sur les sites Web

Vous pouvez utiliser l'authentification Firebase pour permettre aux utilisateurs de se connecter à votre application à l'aide d'une ou plusieurs méthodes de connexion, y compris la connexion par adresse e-mail et mot de passe, et les fournisseurs d'identité fédérés tels que Google Sign-in et Facebook Login. Ce didacticiel vous permet de démarrer avec Firebase Authentication en vous montrant comment ajouter une adresse e-mail et un mot de passe de connexion à votre application.

Connectez votre application à Firebase

Installez le SDK Firebase . Assurez-vous de coller le code de configuration dans votre page Web comme décrit.

(Facultatif) Prototyper et tester avec Firebase Local Emulator Suite

Avant de parler de la façon dont votre application authentifie les utilisateurs, introduisons un ensemble d'outils que vous pouvez utiliser pour prototyper et tester la fonctionnalité d'authentification : Firebase Local Emulator Suite. Si vous choisissez parmi les techniques et les fournisseurs d'authentification, si vous essayez différents modèles de données avec des données publiques et privées à l'aide des règles de sécurité d'authentification et de Firebase, ou si vous créez des prototypes de conceptions d'interface utilisateur de connexion, pouvoir travailler localement sans déployer de services en direct peut être une excellente idée. .

Un émulateur d'authentification fait partie de la suite d'émulateurs locaux, qui permet à votre application d'interagir avec le contenu et la configuration de la base de données émulée, ainsi qu'éventuellement avec vos ressources de projet émulées (fonctions, autres bases de données et règles de sécurité).

L'utilisation de l'émulateur d'authentification n'implique que quelques étapes :

  1. Ajout d'une ligne de code à la configuration de test de votre application pour vous connecter à l'émulateur.
  2. A partir de la racine de votre répertoire local du projet, en cours d' exécution firebase emulators:start .
  3. Utilisation de l'interface utilisateur de la suite d'émulateurs locaux pour le prototypage interactif ou de l'API REST de l'émulateur d'authentification pour les tests non interactifs.

Un guide détaillé est disponible à Connect votre application à l'émulateur d' authentification . Pour plus d' informations, consultez la mise en place Emulator locale Suite .

Continuons maintenant avec la façon d'authentifier les utilisateurs.

Inscrivez de nouveaux utilisateurs

Créez un formulaire qui permet aux nouveaux utilisateurs de s'inscrire à votre application en utilisant leur adresse e-mail et un mot de passe. Lorsqu'un utilisateur remplit le formulaire, valider l'adresse e - mail et mot de passe fourni par l'utilisateur, puis les passer à la createUserWithEmailAndPassword méthode:

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

Web version 8

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

Connectez-vous aux utilisateurs existants

Créez un formulaire permettant aux utilisateurs existants de se connecter à l'aide de leur adresse e-mail et de leur mot de passe. Lorsqu'un utilisateur remplit le formulaire, appelez la signInWithEmailAndPassword méthode:

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

Web version 8

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

Définir un observateur d'état d'authentification et obtenir les données utilisateur

Pour chacune des pages de votre application qui nécessitent des informations sur l'utilisateur connecté, attachez un observateur à l'objet d'authentification globale. Cet observateur est appelé chaque fois que l'état de connexion de l'utilisateur change.

Fixez l'observateur en utilisant la onAuthStateChanged méthode. Lorsqu'un utilisateur se connecte avec succès, vous pouvez obtenir des informations sur l'utilisateur dans l'observateur.

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

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

Prochaines étapes

Découvrez comment ajouter la prise en charge d'autres fournisseurs d'identité et de comptes invités anonymes :