يتيح لك Firebase Admin SDK دمج خوادمك الخاصة مع Firebase Authentication. يمكنك استخدام Firebase Admin SDK لإدارة المستخدمين أو لإدارة علامات مصادقات المستخدمين. هناك عدد من الأسباب التي قد تدفعك إلى إجراء ذلك:
إدارة المستخدمين
قد لا يكون من الملائم دائمًا الانتقال إلى وحدة تحكّم Firebase لإدارة مستخدمي Firebase. توفّر واجهة برمجة التطبيقات لإدارة المستخدمين المشرفين إمكانية الوصول الآلي إلى هؤلاء المستخدمين أنفسهم. ويتيح لك أيضًا تنفيذ إجراءات لا يمكن تنفيذها من خلال وحدة تحكّم Firebase، مثل استرداد بيانات المستخدم الكاملة وتغيير كلمة مروره أو عنوان بريده الإلكتروني أو رقم هاتفه.
المصادقة المخصّصة
يمكنك دمج نظام مستخدمين خارجيين مع Firebase. على سبيل المثال، قد تكون لديك قاعدة بيانات مستخدمين حالية أو قد تريد دمجها مع موفِّر هوية تابع لجهة خارجية لا يتوافق مع Firebase Authentication بشكلٍ أساسي.
ولإجراء ذلك، يمكنك إنشاء رموز مخصّصة باستخدام مطالبات عشوائية تحدّد هوية المستخدِم. ويمكن بعد ذلك استخدام هذه الرموز المميّزة المخصّصة لتسجيل الدخول إلى خدمة Firebase Authentication على تطبيق العميل واستخدام الهوية الموضّحة في مطالبات الرمز المميّز. وسيتم استخدام هذه الهوية بعد ذلك عند الوصول إلى خدمات Firebase أخرى، مثل Cloud Storage.
إثبات الهوية
يُستخدَم Firebase Authentication في المقام الأول لتحديد مستخدمي تطبيقك من أجل تقييد الوصول إلى خدمات أخرى، مثل Cloud Storage. يمكنك أيضًا استخدام الخدمة لتحديد هوية هؤلاء المستخدمين على خادمك الخاص. يتيح لك ذلك تنفيذ المنطق من جهة الخادم بأمان نيابةً عن المستخدمين الذين سجّلوا الدخول باستخدام Firebase Authentication.
لإجراء ذلك، يمكنك استرداد رمز تعريف من تطبيق العميل
الذي تم تسجيل الدخول إليه باستخدام Firebase Authentication وتضمين الرمز في طلب موجَّه إلى
الخادم. بعد ذلك، يُثبت الخادم صحة رمز التعريف ويستخرج المطالب التي تُعرّف المستخدم (بما في ذلك uid
وموفّر الهوية الذي سجّل الدخول باستخدامه وما إلى ذلك). ويمكن بعد ذلك أن يستخدم خادمك معلومات الهوية هذه لتنفيذ
الإجراءات نيابةً عن المستخدم.
يوفّر Firebase Admin SDK طُرقًا لتنفيذ مهام المصادقة المذكورة أعلاه من خلال السماح لك بإدارة المستخدمين وإنشاء رموزا مميّزة مخصّصة والتحقّق من رموز تعريف الهوية.
المطالبات المخصّصة للمستخدمين
في بعض الحالات، قد تحتاج إلى تنفيذ ميزة التحكّم الدقيق في الوصول للمستخدمين الذين سجّلوا الدخول من قبل باستخدام أحد Firebase مقدّمي خدمات المصادقة المتوافقين، مثل البريد الإلكتروني/كلمة المرور أو Google أو Facebook أو الهاتف أو غير ذلك. ويوفّر هذا الإجراء مزيجًا من مطالبات المستخدم المخصّصة وقواعد أمان التطبيق. على سبيل المثال، يمكن للمستخدم الذي سجّل الدخول باستخدام مقدّم خدمة Firebase Authentication البريد الإلكتروني وكلمة المرور أن يحدّد التحكّم في الوصول باستخدام المطالبات المخصّصة.
إدارة المستخدمين
توفّر Firebase Admin SDK واجهة برمجة تطبيقات لإدارة مستخدمي Firebase الذين لديهم امتيازات مرتفعة. تمنحك واجهة برمجة التطبيقات لميزة إدارة مستخدمي المشرف إمكانية استرداد المستخدمين وإنشاؤهم وتعديلهم وحذفهم آليًا بدون الحاجة إلى بيانات اعتماد المستخدم الحالية وبدون القلق بشأن الحدّ الأقصى للمعدل من جهة العميل.
إدارة المستخدمينإنشاء رمز مميّز مخصّص
يتمثل الاستخدام الأساسي لإنشاء الرموز المميّزة المخصّصة في السماح للمستخدمين بالمصادقة باستخدام آلية مصادقة خارجية أو قديمة. يمكن أن يكون هذا الخادم تابعًا لك، مثل خادم LDAP، أو مقدّم خدمة OAuth تابع لجهة خارجية لا يتوافق مع Firebase بشكلٍ تلقائي، مثل Instagram أو LinkedIn.
يحتوي Firebase Admin SDK على طريقة مدمجة لإنشاء الرموز المميّزة المخصّصة. يمكنك أيضًا إنشاء رموز مخصّصة آليًا بأي لغة باستخدام مكتبات JWT التابعة لجهات خارجية.
من المفترض أن ينشئ الخادم رمزًا مميّزًا مخصّصًا باستخدام معرّف فريد (uid
) ويسمِّح بتمرير هذا الرمز المميّز إلى تطبيق العميل الذي سيستخدمه لتسجيل الدخول إلى
Firebase. اطّلِع على مقالة إنشاء الرموز المخصّصة للحصول على نماذج للرموز البرمجية ومزيد من التفاصيل حول عملية إنشاء الرموز المخصّصة.
إثبات ملكية رمز التعريف
إذا كان تطبيق العميل Firebase يتواصل مع خادم الخلفية، قد تحتاج إلى تحديد المستخدم الذي سجّل الدخول حاليًا على خادمك حتى تتمكّن من تنفيذ المنطق من جهة الخادم نيابةً عنه. يمكنك إجراء ذلك بأمان باستخدام رموز التعريف التي تنشئها Firebase عندما يسجّل مستخدم الدخول إلى أحد تطبيقات Firebase. تتوافق رموز التعريف مع مواصفات OpenID Connect وتحتوي على data لتحديد هوية المستخدم، بالإضافة إلى بعض المعلومات الأخرى المتعلّقة بالملف الشخصي والمصادقة. يمكنك إرسال هذه الرموز المميَّزة وإثبات صحتها وفحصها من خلال الخلفيات الخاصة بك. يتيح لك ذلك تحديد هوية المستخدم الذي سجّل الدخول حاليًا بشكل آمن وتفويضه للوصول إلى موارد الخلفي.
يحتوي Firebase Admin SDK على طريقة مدمجة للتحقّق من الرموز المميزة للتعريف. يمكنك أيضًا التحقّق آليًا من رموز التعريف بأي لغة باستخدام مكتبات JWT التابعة لجهات خارجية. اطّلِع على إثبات صحة الرموز المميّزة لتعريف الهوية للحصول على مزيد من التفاصيل وعينات الرموز البرمجية حول عملية إثبات صحة الرمز المميّز لتعريف الهوية.
المطالبات المخصّصة للمستخدمين
يتيح لك Firebase Admin SDK ضبط سمات مخصّصة على حسابات المستخدمين. باستخدام مطالبات المستخدمين المخصّصة، يمكنك منح المستخدمين مستويات وصول مختلفة (أدوارًا)، يتم فرضها بعد ذلك في قواعد أمان التطبيق.
بعد تعديل المطالبات المخصّصة لمستخدم من خلال Firebase Admin SDK، تتم نشرها للمستخدمين الذين تمّت مصادقتهم من جانب العميل من خلال رموز التعريف الخاصة بهم. رمز التعريف هو آلية موثوق بها لإرسال هذه المطالبات المخصّصة، ويجب أن تُجري جميع عمليات الوصول التي تمّت مصادقتها عملية التحقّق من صحة رمز التعريف قبل معالجة الطلب المرتبط.
التحكّم في الوصول باستخدام المطالبات المخصّصة