يتيح لك Firebase Admin SDK دمج الخوادم الخاصة بك مع Firebase Authentication. يمكنك استخدام Firebase Admin SDK لإدارة المستخدمين أو إدارة رموز المصادقة المميزة. هناك عدد من الأسباب التي قد تدفعك إلى إجراء ذلك:
إدارة المستخدمين
ليس من الملائم دائمًا الانتقال إلى الـ Firebase console لإدارة مستخدمي Firebase. توفّر واجهة برمجة التطبيقات لإدارة المستخدمين من المشرفين إمكانية الوصول آليًا إلى هؤلاء المستخدمين. وتتيح لك حتى إجراء مهام لا يمكن تنفيذها في Firebase console ، مثل استرداد البيانات الكاملة للمستخدم وتغيير كلمة المرور أو عنوان البريد الإلكتروني أو رقم الهاتف.
المصادقة المخصّصة
يمكنك دمج نظام مستخدمين خارجي مع 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
يحتوي Firebase Admin SDK على طريقة مدمَجة لإنشاء رموز مخصّصة. يمكنك أيضًا إنشاء رموز مخصّصة آليًا بأي لغة باستخدام مكتبات JWT الخارجية.
يجب أن ينشئ الخادم رمزًا مخصّصًا يتضمّن معرّفًا فريدًا (uid) وأن
يمرِّر هذا الرمز إلى تطبيق عميل سيستخدمه لتسجيل الدخول إلى
Firebase. اطّلِع على مقالة
إنشاء رموز مخصّصة
للاطّلاع على نماذج الرموز والمزيد من التفاصيل حول عملية إنشاء الرموز المخصّصة.
التحقّق من رموز التعريف
إذا كان تطبيق عميل Firebase يتواصل مع خادمك في الخلفية، قد تحتاج إلى تحديد هوية المستخدم الذي سجّل الدخول حاليًا على الخادم حتى تتمكّن من تنفيذ منطق من جهة الخادم نيابةً عنه. يمكنك إجراء ذلك بأمان باستخدام رموز التعريف التي ينشئها Firebase عندما يسجّل المستخدم الدخول إلى تطبيق Firebase. تتوافق رموز التعريف مع مواصفات OpenID Connect و تحتوي على بيانات لتحديد هوية المستخدم، بالإضافة إلى بعض معلومات الملف الشخصي و المصادقة الأخرى ذات الصلة. يمكنك إرسال هذه الرموز والتحقّق منها وفحصها من الخوادم الخلفية الخاصة بك. يتيح لك ذلك تحديد هوية المستخدم الذي سجّل الدخول حاليًا بأمان ومنحه إذن الوصول إلى موارد الخادم الخلفي الخاصة بك.
يحتوي Firebase Admin SDK على طريقة مدمَجة للتحقّق من رموز التعريف. يمكنك أيضًا التحقّق من رموز التعريف آليًا بأي لغة باستخدام مكتبات JWT الخارجية. اطّلِع على مقالة التحقّق من رموز التعريف لمزيد من التفاصيل ونماذج الرموز حول عملية التحقّق من رموز التعريف.
بيانات تعريف المستخدم المخصّصة
يتيح لك Firebase Admin SDK ضبط سمات مخصّصة على حسابات المستخدمين. باستخدام بيانات تعريف المستخدم المخصّصة، يمكنك منح المستخدمين مستويات وصول مختلفة (أدوار)، يتم بعد ذلك فرضها في قواعد الأمان للتطبيق.
بعد تعديل بيانات التعريف المخصّصة لمستخدم من خلال Firebase Admin SDK، يتم نشرها إلى المستخدمين الذين تمّت مصادقتهم على جانب العميل من خلال رموز التعريف الخاصة بهم. رمز التعريف هو آلية موثوق بها لتقديم بيانات التعريف المخصّصة هذه، ويجب أن تتحقّق جميع عمليات الوصول التي تمّت مصادقتها من رمز التعريف قبل معالجة الطلب المرتبط.
التحكّم في الوصول باستخدام بيانات التعريف المخصّصة