Personalizzazione del flusso di autenticazione con funzioni asincrone

Questo documento mostra come estendere l'autenticazione di Identity Platform utilizzando Cloud Functions asincrono.

Le funzioni asincrone consentono di attivare attività non bloccanti in risposta alla creazione e all'eliminazione di 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, vedi Estensione dell'autenticazione con funzioni di blocco. L'oggetto utente ricevuto da una funzione asincrona non contiene aggiornamenti dalla funzione di blocco.

Prima di iniziare

Creare 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 Per iniziare: scrivere, testare ed eseguire il deployment delle prime funzioni.

Rispondere alla creazione di utenti

L'evento onCreate viene attivato ogni volta che viene creato un account utente. Sono inclusi gli account e le sessioni anonimizzati creati con SDK Admin. La funzione non viene attivata 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 un account utente viene eliminato. Il seguente esempio mostra come registrare un gestore per onDelete:

Node.js

exports.myFunction = functions.auth.user().onDelete((user) => {
  // TODO.
});

Recupero delle informazioni degli utenti

Gli eventi onCreate e onDelete forniscono oggetti User e EventContext contenenti 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.
});

Consulta il Riferimento API di UserRecord e il Riferimento API di EventContext per un elenco dei campi disponibili.

Passaggi successivi