Trigger di Firebase Authentication
Le funzioni Cloud Functions possono essere attivate da eventi Firebase Authentication nella stessa progetto Google Cloud come funzione. Questi eventi includono la creazione di utenti 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 funzioni in risposta all'utente create
e
delete
eventi.
Tipo di evento | Trigger |
---|---|
providers/firebase.auth/eventTypes/user.create |
Si attiva quando viene creato un account utente. |
providers/firebase.auth/eventTypes/user.delete |
Si attiva quando viene eliminato un account utente. |
Creazione utente
Gli account Firebase attivano gli eventi di creazione utenti 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 Firebase Admin.
Un utente accede per la prima volta a una nuova sessione di autenticazione anonima.
Eliminazione utente
Puoi anche configurare una funzione che si attivi al momento dell'eliminazione dell'utente.
Struttura evento
I dati sugli eventi vengono forniti come oggetto UserRecord
.
Viene mostrato un esempio di evento di creazione di account basato su password sotto:
{ "email": "me@example.com", "metadata": { "createdAt": "2018-10-19T19:29:16Z" }, "uid": "XXXXX" }
Alcune proprietà di questo oggetto vengono definite solo quando si utilizzano
metodi di autenticazione. Ad esempio, account basato su password
definiscono una proprietà email
contenente l'indirizzo email dell'utente. uid
(che contiene uno User-ID univoco per il progetto) sia sempre definita.
Codice di esempio
Node.js
Python
Vai
Java
C#
Ruby
PHP
esegui il deployment della funzione
Per eseguire il deployment della funzione, devi specificare il tipo di evento e il progetto in cui hai configurato Firebase Auth. Nella console Google Cloud, è un singolo campo per Tipo di evento, in quanto si presume che il progetto sia uguale a il progetto che contiene la tua funzione.
Nella riga di comando, tuttavia, devi utilizzare stringhe specifiche per specificare
parametri. Il seguente comando gcloud
esegue il deployment di una funzione che viene attivata
per 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 Cloud Function di cui esegui il deployment.
Può essere il nome di una funzione nel
del codice sorgente o una stringa arbitraria. Se FUNCTION_NAME è un
stringa arbitraria, devi includere
Flag --entry-point .
|
--entry-point ENTRY_POINT |
Il nome di una funzione o classe nel codice sorgente. Facoltativo, a meno che
non hai utilizzato FUNCTION_NAME
per specificare
nel codice sorgente da eseguire durante il deployment. In questo
devi utilizzare --entry-point per indicare il nome del
una funzione eseguibile.
|
--trigger-event NAME |
Il nome del tipo di evento che attiva la funzione. In questo caso, creare o eliminare, come elencato sopra. |
--trigger-resource NAME |
L'ID 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, vedi
Riferimento gcloud .
|