Check out what’s new from Firebase at Google I/O 2022. Learn more

Wyzwalacze uwierzytelniania Firebase

Możesz uruchomić Cloud Functions w odpowiedzi na utworzenie i usunięcie kont użytkowników Firebase. Na przykład możesz wysłać powitalną wiadomość e-mail do użytkownika, który właśnie utworzył konto w Twojej aplikacji. Przykłady na tej stronie są oparte na próbce, która dokładnie to robi — wysyła powitalne i pożegnalne wiadomości e-mail po utworzeniu i usunięciu konta.

Więcej przykładów zastosowań znajdziesz w artykule Co mogę zrobić z Cloud Functions?

Uruchom funkcję podczas tworzenia użytkownika

Możesz utworzyć funkcję, która jest wyzwalana, gdy użytkownik Firebase jest tworzony za pomocą modułu obsługi zdarzeń functions.auth.user().onCreate() :

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

Konta Firebase będą wyzwalać zdarzenia tworzenia użytkowników w Cloud Functions, gdy:

  • Użytkownik tworzy konto e-mail i hasło.
  • Użytkownik loguje się po raz pierwszy przy użyciu federacyjnego dostawcy tożsamości.
  • Deweloper tworzy konto za pomocą pakietu Firebase Admin SDK.
  • Użytkownik po raz pierwszy loguje się do nowej sesji uwierzytelniania anonimowego.

Zdarzenie Cloud Functions nie jest wyzwalane, gdy użytkownik loguje się po raz pierwszy przy użyciu niestandardowego tokena.

Dostęp do atrybutów użytkownika

Z danych użytkownika zwróconych do funkcji można uzyskać dostęp do listy atrybutów użytkownika dostępnych w nowo utworzonym obiekcie UserRecord użytkownika. Na przykład możesz uzyskać adres e-mail użytkownika i nazwę wyświetlaną, jak pokazano:

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

Uruchom funkcję po usunięciu użytkownika

Tak jak możesz uruchomić funkcję podczas tworzenia użytkownika, możesz odpowiadać na zdarzenia usunięcia użytkownika. Użyj procedury obsługi zdarzeń functions.auth.user().onDelete() , jak pokazano:

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