Authentifizierungsablauf mit asynchronen Funktionen anpassen

In diesem Dokument wird gezeigt, wie Sie die Identity Platform-Authentifizierung mit asynchronen Cloud Run-Funktionen erweitern.

Mit asynchronen Funktionen können Sie nicht blockierende Aufgaben als Reaktion auf das Erstellen und Löschen von Nutzern auslösen. Sie sind nützlich, um lang andauernde Vorgänge zu starten oder Hilfsaufgaben auszuführen, z. B. das Senden einer Begrüßungs-E-Mail.

Wie Sie das Ergebnis eines Authentifizierungsvorgangs direkt ändern, erfahren Sie unter Authentifizierung mit Blockierfunktionen erweitern. Das Nutzerobjekt, das eine asynchrone Funktion empfängt, enthält keine Aktualisierungen von der Blockierfunktion.

Hinweise

Erstellen Sie eine Anwendung mit Identity Platform. Weitere Informationen dazu finden Sie in der Kurzanleitung.

Asynchrone Funktion erstellen

Führen Sie die Schritte unter Erste Schritte: Schreiben, Testen und Bereitstellen von Funktionen aus, um eine asynchrone Funktion zu erstellen und bereitzustellen.

Auf die Erstellung von Nutzern reagieren

Das Ereignis onCreate wird jedes Mal ausgelöst, wenn ein Nutzerkonto erstellt wird. Dazu gehören anonyme Sitzungen und Konten, die mit dem Admin SDK erstellt wurden. Die Funktion wird nicht ausgelöst, wenn sich ein Nutzer zum ersten Mal über ein benutzerdefiniertes Token anmeldet.

Das folgende Beispiel zeigt, wie ein Handler für onCreate registriert wird:

Node.js

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

Auf das Löschen von Nutzern reagieren

Das Ereignis onDelete wird ausgelöst, wenn ein Nutzerkonto gelöscht wird. Das folgende Beispiel zeigt, wie ein Handler für onDelete registriert wird:

Node.js

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

Nutzerinformationen abrufen

Die Ereignisse onCreate und onDelete stellen User- und EventContext-Objekte bereit, die Informationen zum erstellten oder gelöschten Nutzer enthalten. Beispiel:

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.
});

Eine Liste der verfügbaren Felder finden Sie in der UserRecord API-Referenz und der EventContext API-Referenz.

Nächste Schritte