Auslöser für die Firebase-Authentifizierung

Sie können Cloud Functions als Reaktion auf das Erstellen und Löschen von Firebase-Benutzerkonten auslösen. Beispielsweise könnten Sie eine Willkommens-E-Mail an einen Benutzer senden, der gerade ein Konto in Ihrer App erstellt hat. Die Beispiele auf dieser Seite basieren auf einem Beispiel, das genau dies tut – es sendet Begrüßungs- und Abschieds-E-Mails bei der Kontoerstellung und -löschung.

Weitere Beispiele für Anwendungsfälle finden Sie unter Was kann ich mit Cloud Functions tun?

Lösen Sie eine Funktion bei der Benutzererstellung aus

Sie können eine Funktion erstellen, die ausgelöst wird, wenn ein Firebase-Benutzer erstellt wird, indem Sie den Ereignishandler functions.auth.user().onCreate() :

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

Firebase-Konten lösen Benutzererstellungsereignisse für Cloud Functions aus, wenn:

  • Ein Benutzer erstellt ein E-Mail-Konto und ein Passwort.
  • Ein Benutzer meldet sich zum ersten Mal mit einem föderierten Identitätsanbieter an.
  • Der Entwickler erstellt mit dem Firebase Admin SDK ein Konto.
  • Ein Benutzer meldet sich zum ersten Mal bei einer neuen anonymen Authentifizierungssitzung an.

Ein Cloud Functions-Ereignis wird nicht ausgelöst, wenn sich ein Benutzer zum ersten Mal mit einem benutzerdefinierten Token anmeldet.

Greifen Sie auf Benutzerattribute zu

Von den an Ihre Funktion zurückgegebenen Benutzerdaten können Sie auf die Liste der Benutzerattribute zugreifen, die im UserRecord -Objekt des neu erstellten Benutzers verfügbar sind. Sie können beispielsweise die E-Mail-Adresse und den Anzeigenamen des Benutzers wie gezeigt abrufen:

const email = user.email; // The email of the user.
const displayName = user.displayName; // The display name of the user.

Auslösen einer Funktion beim Löschen des Benutzers

So wie Sie eine Funktion bei der Benutzererstellung auslösen können, können Sie auf Benutzerlöschereignisse reagieren. Verwenden Sie den Event-Handler functions.auth.user().onDelete() wie gezeigt:

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