Catch up on everthing we announced at this year's Firebase Summit. Learn more

Firebase Kimlik Doğrulama tetikleyicileri

Firebase kullanıcı hesaplarının oluşturulmasına ve silinmesine yanıt olarak Bulut İşlevlerini tetikleyebilirsiniz. Örneğin, uygulamanızda yeni bir hesap oluşturan bir kullanıcıya hoş geldiniz e-postası gönderebilirsiniz. Bu sayfadaki örnekler, tam olarak bunu yapan bir örneğe dayanmaktadır - hesap oluşturma ve silme üzerine karşılama ve veda e-postaları gönderir.

Kullanım durumları fazla örnek için bkz Ben Bulut Fonksiyonlar ile ne yapabilirim?

Kullanıcı oluşturmada bir işlevi tetikleyin

Sen bir işlev oluşturabilirsiniz tetikleyiciler bir Firebase kullanıcı kullanılarak oluşturulduğunda functions.auth.user().onCreate() Olay işleyicisi:

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

Firebase hesapları, şu durumlarda Cloud Functions için kullanıcı oluşturma olaylarını tetikler:

  • Bir kullanıcı bir e-posta hesabı ve parola oluşturur.
  • Bir kullanıcı, birleşik bir kimlik sağlayıcı kullanarak ilk kez oturum açar.
  • Geliştirici, Firebase Admin SDK'sını kullanarak bir hesap oluşturur.
  • Bir kullanıcı ilk kez yeni bir anonim kimlik doğrulama oturumunda oturum açar.

Bir Bulut Fonksiyonlar olayı tetiklenir değilken özel belirteci kullanarak ilk kez bir kullanıcı oturum.

Kullanıcı özelliklerine erişin

Kullanıcı verileri işlevine döndü itibaren, kullanıcı listesinin yeni oluşturulan kullanıcının mevcut niteliklerini erişebilir UserRecord nesnesi. Örneğin, kullanıcının e-postasını ve görünen adını aşağıdaki gibi alabilirsiniz:

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

Kullanıcı silme işleminde bir işlevi tetikleyin

Kullanıcı oluşturmada bir işlevi tetikleyebildiğiniz gibi, kullanıcı silme olaylarına da yanıt verebilirsiniz. Kullanım functions.auth.user().onDelete() Olay işleyicisi gösterildiği gibi:

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