مشغلات مصادقة Firebase

يمكنك تشغيل الوظائف استجابةً لإنشاء حسابات مستخدمي Firebase وحذفها. على سبيل المثال ، يمكنك إرسال بريد إلكتروني ترحيبي إلى مستخدم قام للتو بإنشاء حساب في تطبيقك. تستند الأمثلة الموجودة في هذه الصفحة إلى عينة تقوم بهذا بالضبط - ترسل رسائل بريد إلكتروني ترحيبية ووديعة عند إنشاء الحساب وحذفه.

لمزيد من أمثلة حالات الاستخدام ، راجع ماذا يمكنني أن أفعل بوظائف السحابة؟ .

تشغيل وظيفة عند إنشاء المستخدم

يمكنك إنشاء وظيفة يتم تشغيلها عند إنشاء مستخدم Firebase باستخدام functions.auth.user().onCreate() event handler:

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

ستطلق حسابات Firebase أحداث إنشاء المستخدمين لوظائف السحابة عندما:

  • يقوم المستخدم بإنشاء حساب بريد إلكتروني وكلمة مرور.
  • يقوم المستخدم بتسجيل الدخول لأول مرة باستخدام موفر هوية متحد.
  • ينشئ المطور حسابًا باستخدام Firebase Admin SDK.
  • يقوم المستخدم بتسجيل الدخول إلى جلسة مصادقة مجهولة جديدة لأول مرة.

لا يتم تشغيل حدث Cloud Functions عندما يقوم المستخدم بتسجيل الدخول لأول مرة باستخدام رمز مخصص.

الوصول إلى سمات المستخدم

من بيانات المستخدم التي تم إرجاعها إلى وظيفتك ، يمكنك الوصول إلى قائمة سمات المستخدم المتاحة في كائن UserRecord الخاص بالمستخدم الذي تم إنشاؤه حديثًا. على سبيل المثال ، يمكنك الحصول على البريد الإلكتروني للمستخدم واسم العرض كما هو موضح:

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

تشغيل وظيفة عند حذف المستخدم

مثلما يمكنك تشغيل وظيفة عند إنشاء المستخدم ، يمكنك الرد على أحداث حذف المستخدم. استخدم التابع functions.auth.user().onDelete() الحدث كما هو موضح:

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

وظائف منع الزناد

إذا قمت بالترقية إلى Firebase Authentication باستخدام Identity Platform ، فيمكنك تمديد مصادقة Firebase باستخدام حظر وظائف السحابة .

تتيح لك وظائف الحظر تنفيذ تعليمات برمجية مخصصة تعدل نتيجة تسجيل المستخدم أو تسجيل الدخول إلى تطبيقك. على سبيل المثال ، يمكنك منع المستخدم من المصادقة إذا لم يستوف معايير معينة ، أو تحديث معلومات المستخدم قبل إعادتها إلى تطبيق العميل الخاص بك.