Trigger di Firebase Authentication
L'attivazione di Cloud Functions può essere attivata da eventi di Firebase Authentication nello stesso progetto Cloud della funzione. Questi eventi comprendono la creazione e l'eliminazione degli utenti. Ad esempio, potresti inviare un'email di benvenuto a un utente che ha appena creato un account nella tua app.
Tipi di evento
Firebase Authentication può attivare le funzioni in risposta agli eventi utente create
e delete
.
Tipo di evento | Attivatore |
---|---|
providers/firebase.auth/eventTypes/user.create |
Si attiva quando viene creato un account utente. |
providers/firebase.auth/eventTypes/user.delete |
Attivato quando un account utente viene eliminato. |
Creazione utente
Gli account Firebase attivano gli eventi di creazione utente per Cloud Functions quando:
Un utente crea un account email e una password.
Un utente accede per la prima volta utilizzando un provider di identità federato.
Lo sviluppatore crea un account utilizzando l'SDK Admin di Firebase.
Un utente accede per la prima volta a una nuova sessione di autenticazione anonima.
Eliminazione utente
Puoi anche configurare una funzione da attivare dopo l'eliminazione dell'utente.
Struttura dell'evento
I dati sugli eventi vengono forniti come oggetto UserRecord
.
Di seguito è riportato un evento di creazione di un account basato su password di esempio:
{ "email": "me@example.com", "metadata": { "createdAt": "2018-10-19T19:29:16Z" }, "uid": "XXXXX" }
Alcune proprietà di questo oggetto sono definite solo quando si utilizzano determinati metodi di autenticazione. Ad esempio, gli eventi dell'account basato su password definiscono una proprietà email
contenente l'indirizzo email dell'utente. La proprietà uid
(che contiene un ID utente univoco per il tuo progetto) è sempre definita.
Codice di esempio
Node.js
Python
Go
Java
C#
Ruby
PHP
Deployment della funzione
Per eseguire il deployment della funzione, devi specificare il tipo di evento e il progetto per cui hai configurato Firebase Auth. Nella console Google Cloud, è presente un solo campo per Tipo di evento in quanto il progetto dovrebbe essere uguale a quello che contiene la funzione.
Tuttavia, devi utilizzare stringhe specifiche per specificare questi due parametri nella riga di comando. Il seguente comando gcloud
esegue il deployment di una funzione che viene attivata
dagli eventi create
dell'utente:
gcloud functions deploy FUNCTION_NAME \ --entry-point ENTRY_POINT \ --trigger-event providers/firebase.auth/eventTypes/user.create \ --trigger-resource YOUR_PROJECT_ID \ --runtime RUNTIME
Argomento | Descrizione |
---|---|
FUNCTION_NAME |
Il nome registrato della funzione Cloud Functions di cui stai eseguendo il deployment.
Può essere il nome di una funzione nel codice sorgente o una stringa arbitraria. Se FUNCTION_NAME è una stringa arbitraria, devi includere il flag --entry-point .
|
--entry-point ENTRY_POINT |
Il nome di una funzione o di una classe nel codice sorgente. Facoltativo, a meno che
non abbia utilizzato FUNCTION_NAME
per specificare la funzione
nel codice sorgente da eseguire durante il deployment. In questo caso, devi utilizzare --entry-point per fornire il nome della funzione eseguibile.
|
--trigger-event NAME |
Il nome del tipo di evento che attiva la funzione. In questo caso, deve essere crea o elimina, come indicato in precedenza. |
--trigger-resource NAME |
L'ID del progetto (in questo esempio, YOUR_PROJECT_ID ) per il progetto che contiene la tua funzione e Firebase Authentication.
|
--runtime RUNTIME |
Il nome del runtime che stai utilizzando. Per un elenco completo, consulta il riferimento gcloud .
|