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 o per eseguire 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 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 ed eseguire il deployment di una funzione asincrona, segui i passaggi descritti in Iniziare: scrivere, testare ed eseguire il deployment delle prime funzioni.
Rispondere alla creazione degli utenti
L'evento onCreate
viene attivato ogni volta che viene creato un account utente. Sono inclusi
gli account e le sessioni anonime creati con l'SDK Admin. La funzione non si attiva 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
- Estendere l'autenticazione con le funzioni di blocco.
- Scopri di più sulle funzioni Cloud Run.