Firebase Authentication-Trigger
Cloud Run Functions-Funktionen können durch Ereignisse aus Firebase Authentication im selben Google Cloud-Projekt wie die Funktion ausgelöst werden. Solche Ereignisse sind z. B. das Erstellen oder das Löschen von Nutzern. Sie könnten beispielsweise eine Willkommens-E-Mail an einen Nutzer senden, der gerade ein Konto in Ihrer Anwendung erstellt hat.
Ereignistypen
Als Antwort auf die Ereignisse create
und delete
von Nutzern kann Firebase Authentication Funktionen auslösen.
Ereignistyp | Trigger |
---|---|
providers/firebase.auth/eventTypes/user.create |
Wird ausgelöst, wenn ein Nutzerkonto erstellt wird |
providers/firebase.auth/eventTypes/user.delete |
Wird ausgelöst, wenn ein Nutzerkonto gelöscht wird |
Nutzer erstellen
Firebase-Konten lösen in den folgenden Fällen Nutzererstellungsereignisse für Cloud Run Functions-Funktionen aus:
Ein Nutzer erstellt ein E-Mail-Konto und ein Passwort
Ein Nutzer meldet sich zum ersten Mal über einen Anbieter föderierter Identität an
Der Entwickler erstellt mithilfe des Firebase Admin SDK ein Konto
Ein Nutzer meldet sich zum ersten Mal bei einer neuen anonymen Authentifizierungssitzung an
Nutzer löschen
Sie können auch eine Funktion konfigurieren, die beim Löschen eines Nutzers ausgelöst wird.
Ereignisstruktur
Ereignisdaten werden als UserRecord
-Objekt bereitgestellt.
Im Folgenden ist ein Beispiel für ein passwortbasiertes Kontoerstellungsereignis dargestellt:
{ "email": "me@example.com", "metadata": { "createdAt": "2018-10-19T19:29:16Z" }, "uid": "XXXXX" }
Einige Attribute dieses Objekts werden nur bei Verwendung bestimmter Authentifizierungsmethoden definiert. So definieren beispielsweise passwortbasierte Kontoereignisse ein email
-Attribut, das die E-Mail-Adresse des Nutzers enthält. Das Attribut uid
, das eine für das Projekt eindeutige Nutzer-ID enthält, ist immer definiert.
Beispielcode
Node.js
Python
Go
Java
C#
Ruby
PHP
Funktion bereitstellen
Zum Bereitstellen Ihrer Funktion müssen Sie den Ereignistyp und das Projekt angeben, für das Sie Firebase Authentication konfiguriert haben. In der Google Cloud Console gibt es ein einzelnes Feld für den Ereignistyp, da angenommen wird, dass das Projekt mit dem Projekt identisch ist, das die Funktion enthält.
In der Befehlszeile müssen Sie jedoch bestimmte Strings verwenden, um diese beiden Parameter anzugeben. Mit dem folgenden gcloud
-Befehl wird eine Funktion bereitgestellt, die durch Nutzerereignisse wie create
ausgelöst wird:
gcloud functions deploy FUNCTION_NAME \ --no-gen2 \ --entry-point ENTRY_POINT \ --trigger-event providers/firebase.auth/eventTypes/user.create \ --trigger-resource YOUR_PROJECT_ID \ --runtime RUNTIME
Argument | Beschreibung |
---|---|
FUNCTION_NAME |
Der registrierte Name der Cloud Run Functions-Funktionen, die Sie bereitstellen.
Dies kann entweder der Name einer Funktion in Ihrem Quellcode oder ein beliebiger String sein. Wenn FUNCTION_NAME ein beliebiger String ist, müssen Sie das Flag --entry-point einfügen.
|
--entry-point ENTRY_POINT |
Der Name einer Funktion oder Klasse in Ihrem Quellcode. Optional, es sei denn, Sie haben FUNCTION_NAME nicht verwendet, um die Funktion in Ihrem Quellcode anzugeben, die während der Bereitstellung ausgeführt werden soll. In diesem Fall müssen Sie mit --entry-point den Namen der ausführbaren Funktion angeben.
|
--trigger-event NAME |
Der Name des Ereignistyps, der die Funktion auslöst. In diesem Fall sollte es create oder delete sein, wie oben erläutert. |
--trigger-resource NAME |
Die Projekt-ID (im Beispiel YOUR_PROJECT_ID ) für das Projekt, das die Funktion Firebase Authentication enthält.
|
--runtime RUNTIME |
Der Name der Laufzeit, die Sie verwenden. Eine vollständige Liste finden Sie in der gcloud -Referenz.
|