Aktywatory uwierzytelniania Firebase

Możesz wywoływać funkcje w odpowiedzi na tworzenie i usuwanieFirebase Authentication kont użytkowników. Możesz na przykład wysłać e-maila z powitaniem 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 właśnie to robi – wysyła e-maile z powitaniem i pożegnaniem po utworzeniu i usunięciu konta.

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

Aktywowanie funkcji podczas tworzenia użytkownika

Możesz utworzyć funkcję, która jest wywoływana, gdy użytkownik Authentication zostanie utworzony za pomocą procedury obsługi zdarzeń functions.auth.user().onCreate():

exports.sendWelcomeEmail = functions.runWith({secrets: [gmailPassword]}).auth.user().onCreate((user) => {
  // ...
});

Konta Authentication będą wywoływać zdarzenia tworzenia użytkowników w przypadku Cloud Functions, gdy:

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

Cloud Functions zdarzenie nie jest wywoływane, gdy użytkownik loguje się po raz pierwszy za pomocą niestandardowego tokena.

Dostęp do atrybutów użytkownika

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

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

Wywoływanie funkcji po usunięciu konta użytkownika

Podobnie jak w przypadku tworzenia użytkownika, możesz wywołać funkcję w odpowiedzi na zdarzenia usunięcia użytkownika. Użyj modułu obsługi zdarzeń functions.auth.user().onDelete() w ten sposób:

exports.sendByeEmail = functions.runWith({secrets: [gmailPassword]}).auth.user().onDelete((user) => {
  // ...
});

Aktywowanie funkcji blokujących

Jeśli korzystasz z wersji Firebase Authentication with Identity Platform, możesz przedłużyć Firebase Authentication, blokując Cloud Functions.

Dzięki funkcjom blokowania możesz uruchamiać niestandardowy kod, który zmienia reakcję aplikacji na zarejestrowanie się lub zalogowanie użytkownika. Możesz na przykład uniemożliwić użytkownikowi uwierzytelnienie, jeśli nie spełnia on określonych kryteriów, lub zaktualizować informacje o użytkowniku przed zwróceniem ich do aplikacji klienckiej.