Déclencheurs Firebase Authentication
Les fonctions Cloud Run peuvent être déclenchées par des événements issus de Firebase Authentication dans le même projet Google Cloud contenant la fonction. Ces événements incluent la création et la suppression d'utilisateurs. Par exemple, vous pouvez envoyer un e-mail de bienvenue à un utilisateur qui vient de créer un compte dans votre application.
Types d'événement
Firebase Authentication peut déclencher des fonctions en réponse aux événements utilisateur create
et delete
.
Type d'événement | Déclencheur |
---|---|
providers/firebase.auth/eventTypes/user.create |
Déclenché lorsqu'un compte d'utilisateur est créé. |
providers/firebase.auth/eventTypes/user.delete |
Déclenché lorsqu'un compte d'utilisateur est supprimé. |
Création de compte utilisateur
Les comptes Firebase déclenchent des événements de création d'utilisateurs pour les fonctions Cloud Run dans les cas suivants:
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 Admin Firebase.
Un utilisateur se connecte à une nouvelle session d'authentification anonyme pour la première fois.
Suppression de compte utilisateur
Vous pouvez également configurer une fonction qui est déclenchée lors de la suppression de l'utilisateur.
Structure de l'événement
Les données d'événement sont fournies en tant qu'objet UserRecord
.
Vous trouverez ci-dessous un exemple d'événement de création de compte basé sur un mot de passe :
{ "email": "me@example.com", "metadata": { "createdAt": "2018-10-19T19:29:16Z" }, "uid": "XXXXX" }
Certaines propriétés de cet objet ne sont définies que lorsque vous utilisez certaines méthodes d'authentification. Par exemple, les événements de compte basé sur un mot de passe définissent une propriété email
contenant l'adresse e-mail de l'utilisateur. La propriété uid
(qui contient un ID utilisateur propre à votre projet) est toujours définie.
Exemple de code
Node.js
Python
Go
Java
C#
Ruby
PHP
Déployer votre fonction
Pour déployer votre fonction, vous devez spécifier le type d'événement et le projet pour lesquels Firebase Auth est configuré. La console Google Cloud contient un seul champ Type d'événement, car le projet est supposé être le même que celui qui contient votre fonction.
Sur la ligne de commande, vous devez cependant utiliser des chaînes particulières pour spécifier ces deux paramètres. La commande gcloud
suivante déploie une fonction qui est déclenchée par les événements utilisateur create
:
gcloud functions deploy FUNCTION_NAME \ --no-gen2 \ --entry-point ENTRY_POINT \ --trigger-event providers/firebase.auth/eventTypes/user.create \ --trigger-resource YOUR_PROJECT_ID \ --runtime RUNTIME
Argument | Description |
---|---|
FUNCTION_NAME |
Nom enregistré des fonctions Cloud Run que vous déployez.
Il peut s'agir du nom d'une fonction dans votre code source ou d'une chaîne arbitraire. Si FUNCTION_NAME est une chaîne arbitraire, vous devez alors inclure l'option --entry-point .
|
--entry-point ENTRY_POINT |
Nom d'une fonction ou d'une classe dans votre code source. Ce paramètre est facultatif, sauf si vous n'avez pas utilisé FUNCTION_NAME pour spécifier quelle fonction de votre code source exécuter lors du déploiement. Dans ce cas, vous devez utiliser --entry-point pour fournir le nom de la fonction exécutable.
|
--trigger-event NAME |
Nom du type d'événement qui déclenche la fonction. Dans ce cas, il doit s'agir de l'événement de création ou de suppression, comme indiqué ci-dessus. |
--trigger-resource NAME |
ID du projet (dans cet exemple, YOUR_PROJECT_ID ) qui héberge votre fonction et Firebase Authentication. |
--runtime RUNTIME |
Nom de l'environnement d'exécution que vous utilisez. Pour obtenir une liste complète, consultez la documentation de référence sur gcloud .
|