Activadores de Firebase Authentication
Cloud Run Functions se pueden activar a través de eventos de Firebase Authentication en el mismo proyecto de Google Cloud que la función. Estos eventos incluyen la creación y eliminación de usuarios. Por ejemplo, puedes enviar un correo electrónico de bienvenida a un usuario que acaba de crear una cuenta en tu app.
Tipos de eventos
Firebase Authentication puede activar funciones en respuesta a los eventos del usuario create
y delete
.
Tipo de evento | Activador |
---|---|
providers/firebase.auth/eventTypes/user.create |
Se activa cuando se crea una cuenta de usuario. |
providers/firebase.auth/eventTypes/user.delete |
Se activa cuando se borra una cuenta de usuario. |
Creación de usuarios
Las cuentas de Firebase activan los eventos de creación de usuarios para Cloud Run Functions en los siguientes casos:
Un usuario crea una cuenta de correo electrónico y una contraseña.
Un usuario accede por primera vez con un proveedor de identidad federada.
El desarrollador crea una cuenta con el SDK de Firebase Admin.
Un usuario accede a una sesión de autenticación anónima por primera vez.
Eliminación de usuarios
También puedes configurar una función para que se active en el momento de la eliminación de un usuario.
Estructura de eventos
Los datos de eventos se proporcionan como un objeto UserRecord
.
A continuación, se muestra un ejemplo de un evento de creación de una cuenta basada en contraseña:
{ "email": "me@example.com", "metadata": { "createdAt": "2018-10-19T19:29:16Z" }, "uid": "XXXXX" }
Algunas propiedades de este objeto solo se definen cuando se usan ciertos métodos de autenticación. Por ejemplo, los eventos de la cuenta basada en contraseña definen una propiedad email
que contiene la dirección de correo electrónico del usuario. La propiedad uid
(que contiene un ID de usuario único para el proyecto) siempre está definida.
Código de muestra
Node.js
Python
Go
Java
C#
Ruby
PHP
Implementa la función
Si deseas implementar tu función, es necesario que especifiques el tipo de evento y el proyecto para el cual configuraste Firebase Authentication. En la consola de Google Cloud, hay un solo campo para Tipo de evento, ya que se supone que este proyecto es el mismo que contiene tu función.
En la línea de comandos, sin embargo, debes usar strings particulares para especificar estos dos parámetros. El siguiente comando gcloud
implementa una función que activan los eventos del usuario 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
Argumento | Descripción |
---|---|
FUNCTION_NAME |
El nombre registrado de Cloud Run Functions que estás implementando.
Puede ser el nombre de una función en tu código fuente o una string arbitraria. Si FUNCTION_NAME es una string arbitraria, debes incluir la marca --entry-point .
|
--entry-point ENTRY_POINT |
El nombre de una función o clase en tu código fuente. Opcional, a menos que no hayas usado FUNCTION_NAME para especificar la función en tu código fuente que se ejecutará durante la implementación. En ese caso, debes usar --entry-point para proporcionar el nombre de la función ejecutable.
|
--trigger-event NAME |
El nombre del tipo de evento que activa la función. En este caso, debería ser un evento de creación o eliminación, como se describe antes. |
--trigger-resource NAME |
El ID del proyecto (en este ejemplo, YOUR_PROJECT_ID ) que contiene tu función y Firebase Authentication.
|
--runtime RUNTIME |
El nombre del entorno de ejecución que usas. Para obtener una lista completa, consulta la gcloud referencia.
|