Étendre l'authentification Firebase avec Cloud Functions

Vous pouvez déclencher des fonctions en réponse à la création et à la suppression de comptes d'utilisateurs Firebase. Par exemple, vous pouvez envoyer un email de bienvenue à un utilisateur qui vient de créer un compte dans votre application. Les exemples sur cette page sont basés sur un exemple qui fait exactement cela : envoie des e-mails de bienvenue et d'adieu lors de la création et de la suppression d'un compte.

Pour plus d'exemples de cas d'utilisation, consultez Que puis-je faire avec Cloud Functions ? .

Déclencher une fonction à la création d'un utilisateur

Vous pouvez créer une fonction qui se déclenche lorsqu'un utilisateur Firebase est créé à l'aide du gestionnaire d'événements functions.auth.user().onCreate() :

exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
  // ...
});

Les comptes Firebase déclencheront des événements de création d'utilisateurs pour Cloud Functions lorsque :

  • Un utilisateur crée un compte de messagerie et un mot de passe.
  • Un utilisateur se connecte pour la première fois à l'aide d'un fournisseur d'identité fédéré.
  • Le développeur crée un compte à l'aide du SDK Firebase Admin.
  • Un utilisateur se connecte pour la première fois à une nouvelle session d'authentification anonyme.

Un événement Cloud Functions n'est pas déclenché lorsqu'un utilisateur se connecte pour la première fois à l'aide d'un jeton personnalisé.

Accéder aux attributs utilisateur

À partir des données utilisateur renvoyées à votre fonction, vous pouvez accéder à la liste des attributs utilisateur disponibles dans l'objet UserRecord de l'utilisateur nouvellement créé. Par exemple, vous pouvez obtenir l'adresse e-mail et le nom d'affichage de l'utilisateur comme indiqué :

const email = user.email; // The email of the user.
const displayName = user.displayName; // The display name of the user.

Déclencher une fonction lors de la suppression d'un utilisateur

Tout comme vous pouvez déclencher une fonction lors de la création d’un utilisateur, vous pouvez répondre aux événements de suppression d’utilisateur. Utilisez le gestionnaire d'événements functions.auth.user().onDelete() comme indiqué :

exports.sendByeEmail = functions.auth.user().onDelete((user) => {
  // ...
});

Fonctions de blocage du déclencheur

Si vous avez effectué une mise à niveau vers Firebase Authentication avec Identity Platform, vous pouvez étendre Firebase Authentication en bloquant Cloud Functions .

Les fonctions de blocage vous permettent d'exécuter du code personnalisé qui modifie le résultat de l'inscription ou de la connexion d'un utilisateur à votre application. Par exemple, vous pouvez empêcher un utilisateur de s'authentifier s'il ne répond pas à certains critères, ou mettre à jour les informations d'un utilisateur avant de les renvoyer à votre application client.