يمكنك تفعيل الوظائف استجابةً لإنشاء حسابات مستخدمين Firebase وحذفها. على سبيل المثال، يمكنك إرسال رسالة إلكترونية ترحيبية إلى مستخدم أنشأ للتو حسابًا في تطبيقك. تستند الأمثلة الواردة في هذه الصفحة إلى نموذج يفعل ذلك بالضبط، أي إرسال رسائل إلكترونية ترحيبية ورسائل إلكترونية عند الخروج عند إنشاء الحساب وحذفه.
لمزيد من الأمثلة على حالات الاستخدام، يمكنك الاطّلاع على مقالة ماذا يمكنني أن أفعل باستخدام Cloud Functions؟.
بدء وظيفة عند إنشاء مستخدم
يمكنك إنشاء دالة يتم تنشيطها عند
إنشاء مستخدم Firebase باستخدام معالج الحدث
functions.auth.user().onCreate()
:
exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => { // ... });
ستؤدي Firebase حسابات إلى تشغيل أحداث إنشاء المستخدمين لـ Cloud Functions في الحالات التالية:
- ينشئ مستخدم حساب بريد إلكتروني وكلمة مرور.
- يسجِّل المستخدم الدخول لأول مرة باستخدام موفِّر هوية موحّد.
- ينشئ المطوّر حسابًا باستخدام حزمة تطوير البرامج (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 with Identity Platform، يمكنك تمديد فترة Firebase Authentication من خلال حظر Cloud Functions.
تتيح لك وظائف الحظر تنفيذ رمز مخصّص يُعدّل نتيجة تسجيل أحد المستخدمين أو تسجيل الدخول إلى تطبيقك. على سبيل المثال، يمكنك منع أحد المستخدمين من المصادقة إذا لم يستوفِ معايير معيّنة، أو تعديل معلومات أحد المستخدمين قبل إعادتها إلى تطبيق العميل.