Personnaliser le flux d'authentification à l'aide de fonctions asynchrones

Ce document explique comment étendre l'authentification Identity Platform à l'aide de fonctions Cloud Functions asynchrones.

Les fonctions asynchrones vous permettent de déclencher des tâches non bloquantes en réponse à la création et à la suppression d'utilisateurs. Elles sont utiles pour lancer des opérations de longue durée ou pour effectuer des tâches auxiliaires, comme l'envoi d'un e-mail de bienvenue.

Pour modifier directement le résultat d'une opération d'authentification, consultez la section Étendre l'authentification avec les fonctions de blocage. L'objet utilisateur reçu par une fonction asynchrone ne contient pas de mises à jour de la fonction de blocage.

Avant de commencer

Créer une application avec Identity Platform Pour savoir comment, consultez le guide de démarrage rapide.

Créer une fonction asynchrone

Pour créer et déployer une fonction asynchrone, suivez la procédure décrite sur la page Premiers pas : écrire, tester et déployer vos premières fonctions.

Répondre à la création d'utilisateurs

L'événement onCreate se déclenche chaque fois qu'un compte utilisateur est créé. Cela inclut les sessions et les comptes anonymes créés avec le SDK Admin. La fonction ne se déclenche pas lorsqu'un utilisateur se connecte pour la première fois à l'aide d'un jeton personnalisé.

L'exemple suivant montre comment enregistrer un gestionnaire pour onCreate :

Node.js

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

Répondre à la suppression d'un utilisateur

L'événement onDelete se déclenche chaque fois qu'un compte utilisateur est supprimé. L'exemple suivant montre comment enregistrer un gestionnaire pour onDelete :

Node.js

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

Obtenir des informations sur les utilisateurs

Les événements onCreate et onDelete fournissent des objets User et EventContext contenant des informations sur l'utilisateur créé ou supprimé. Exemple :

Node.js

exports.myFunction = functions.auth.user().onCreate((user, context) => {
  const email = user.email; // The email of the user.
  const displayName = user.displayName; // The display name of the user.
});

Consultez la documentation de référence de l'API UserRecord et la documentation de référence sur l'API EventContext pour obtenir la liste des champs disponibles.

Étapes suivantes