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