Personalizzazione del flusso di autenticazione mediante funzioni asincrone
Questo documento mostra come estendere l'autenticazione di Identity Platform utilizzando le funzioni Cloud Run asincrone.
Le funzioni asincrone ti consentono di attivare attività non bloccanti in risposta alla creazione e all'eliminazione degli utenti. Sono utili per avviare operazioni a lunga esecuzione l'esecuzione di attività ausiliarie, come l'invio di un'email di benvenuto.
Per modificare direttamente il risultato di un'operazione di autenticazione, consulta Estensione dell'autenticazione con le funzioni di blocco. L'oggetto utente ricevuto da una funzione asincrona non contiene aggiornamenti della funzione di blocco.
Prima di iniziare
Crea un'app con Identity Platform. Per scoprire come, consulta la guida rapida.
Creazione di una funzione asincrona
Per creare una funzione asincrona ed eseguirne il deployment, segui i passaggi riportati in Per iniziare: scrivi, testa ed esegui il deployment delle tue prime funzioni.
Rispondere alla creazione degli utenti
L'evento onCreate
viene attivato ogni volta che viene creato un account utente. Sono inclusi
sessioni e account anonimi creati con SDK Admin. La funzione
non si attivano quando un utente accede per la prima volta utilizzando un token personalizzato.
L'esempio seguente mostra come registrare un gestore per onCreate
:
Node.js
exports.myFunction = functions.auth.user().onCreate((user) => {
// TODO.
});
Rispondere all'eliminazione dell'utente
L'evento onDelete
viene attivato ogni volta che viene eliminato un account utente. L'esempio seguente mostra come registrare un gestore per onDelete
:
Node.js
exports.myFunction = functions.auth.user().onDelete((user) => {
// TODO.
});
Ottenere informazioni sugli utenti
Gli eventi onCreate
e onDelete
forniscono oggetti User
e EventContext
che contengono informazioni sull'utente creato o eliminato. Ad esempio:
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.
});
Per un elenco dei campi disponibili, consulta il riferimento all'API UserRecord
e il riferimento all'API EventContext
.
Passaggi successivi
- Estendi l'autenticazione con funzioni di blocco.
- Scopri di più sulle funzioni Cloud Run.