مقدّمة عن Admin Auth API

تتيح لك Firebase Admin SDK دمج خوادمك الخاصة مع Firebase Authentication. يمكنك استخدام Firebase Admin SDK لإدارة المستخدمين أو لإدارة رموز المصادقة المميزة. هناك عدد من الأسباب التي قد تدفعك إلى إجراء ذلك، وهي:

إدارة المستخدمين

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

المصادقة المخصّصة

يمكنك دمج نظام مستخدمين خارجي مع Firebase. على سبيل المثال، قد يكون لديك قاعدة بيانات مستخدمين حالية أو قد تريد الدمج مع موفّر هوية تابع لجهة خارجية لا يتيح Firebase Authentication استخدامه بشكلٍ تلقائي.

لإجراء ذلك، يمكنك إنشاء رموز مميّزة مخصّصة تتضمّن مطالبات عشوائية تحدّد هوية المستخدم. يمكن بعد ذلك استخدام الرموز المميزة المخصّصة هذه لتسجيل الدخول إلى خدمة Firebase Authentication على تطبيق العميل وافتراض الهوية الموضّحة في مطالبات الرمز المميز. سيتم بعد ذلك استخدام هذه الهوية عند الوصول إلى خدمات أخرى، مثل Cloud Storage.Firebase

إثبات الهوية

يُستخدَم Firebase Authentication بشكل أساسي لتحديد مستخدمي تطبيقك من أجل حظر الوصول إلى خدمات أخرى، مثل Cloud Storage. يمكنك أيضًا استخدام الخدمة لتحديد هؤلاء المستخدمين على الخادم الخاص بك. يتيح لك ذلك تنفيذ منطق من جهة الخادم بشكل آمن نيابةً عن المستخدمين الذين سجّلوا الدخول باستخدام Firebase Authentication.

لإجراء ذلك، يمكنك استرداد رمز مميّز للمعرّف من تطبيق عميل تم تسجيل الدخول إليه باستخدام Firebase Authentication وتضمين الرمز المميز في طلب إلى الخادم. بعد ذلك، يتحقّق الخادم من رمز التعريف ويستخرج المطالبات التي تحدّد هوية المستخدم (بما في ذلك uid وموفّر الهوية الذي سجّل الدخول من خلاله وما إلى ذلك). ويمكن لخادمك بعد ذلك استخدام معلومات الهوية هذه لتنفيذ إجراءات نيابةً عن المستخدم.

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

مطالبات المستخدم المخصّصة

في بعض الحالات، قد تحتاج إلى تنفيذ ميزة التحكّم الدقيق في الوصول للمستخدمين الذين سجّلوا الدخول باستخدام أحد موفّري المصادقة المتوافقين، مثل البريد الإلكتروني/كلمة المرور أو Google أو Facebook أو الهاتف وما إلى ذلك. وتوفّر مجموعة من مطالبات المستخدمين المخصّصة وقواعد أمان التطبيق هذه الإمكانية.Firebase على سبيل المثال، يمكن للمستخدم الذي سجّل الدخول باستخدام موفّر Firebase Authentication البريد الإلكتروني وكلمة المرور أن يتم تحديد إذن الوصول له باستخدام مطالبات مخصّصة.

إدارة المستخدمين

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

إدارة المستخدمين

إنشاء رموز مميّزة مخصّصة

يُستخدم إنشاء الرموز المميزة المخصّصة بشكل أساسي للسماح للمستخدمين بالمصادقة باستخدام آلية مصادقة خارجية أو قديمة. يمكن أن يكون هذا الخادم خادمًا تتحكّم فيه، مثل خادم LDAP، أو مزوّد OAuth تابعًا لجهة خارجية Firebase لا يتوافق مع هذه الميزة بشكلٍ أصلي، مثل Instagram أو LinkedIn.

يحتوي Firebase Admin SDK على طريقة مدمجة لإنشاء رموز مميّزة مخصّصة. يمكنك أيضًا إنشاء رموز مميّزة مخصّصة آليًا بأي لغة باستخدام مكتبات JWT التابعة لجهات خارجية.

على الخادم إنشاء رمز مميّز مخصّص يتضمّن معرّفًا فريدًا (uid) وإرسال هذا الرمز إلى تطبيق العميل الذي سيستخدمه لتسجيل الدخول إلى Firebase. اطّلِع على مقالة إنشاء رموز مميّزة مخصّصة للحصول على نماذج من الرموز ومزيد من التفاصيل حول عملية إنشاء الرموز المميّزة المخصّصة.

إنشاء رموز مميّزة مخصّصة

التحقّق من صحة الرمز المميّز لتعريف الهوية

إذا كان تطبيق العميل Firebase يتواصل مع خادم الخلفية، قد تحتاج إلى تحديد المستخدم الذي سجّل الدخول حاليًا على خادمك حتى تتمكّن من تنفيذ منطق من جهة الخادم نيابةً عنه. يمكنك إجراء ذلك بأمان باستخدام رموز التعريف التي تنشئها Firebase عندما يسجّل المستخدم الدخول إلى تطبيق Firebase. تتوافق رموز التعريف مع مواصفات OpenID Connect وتحتوي على بيانات لتحديد هوية المستخدم، بالإضافة إلى بعض المعلومات الأخرى المتعلقة بالملف الشخصي والمصادقة. يمكنك إرسال هذه الرموز المميزة والتحقّق منها وفحصها من الخلفيات الخاصة بك. يتيح لك ذلك تحديد هوية المستخدم الذي سجّل الدخول حاليًا بشكل آمن ومنحه الإذن بالوصول إلى موارد الخلفية الخاصة بك.

يتضمّن Firebase Admin SDK طريقة مدمجة للتحقّق من صحة رموز التعريف. يمكنك أيضًا التحقّق آليًا من صحة رموز التعريف في أي لغة باستخدام مكتبات JWT التابعة لجهات خارجية. اطّلِع على إثبات صحة رموز التعريف لمزيد من التفاصيل ونماذج الرموز البرمجية حول عملية إثبات صحة رموز التعريف.

إثبات صحة رموز التعريف

مطالبات المستخدم المخصّصة

تتيح لك Firebase Admin SDK ضبط سمات مخصّصة على حسابات المستخدمين. باستخدام مطالبات المستخدم المخصّصة، يمكنك منح المستخدمين مستويات وصول مختلفة (أدوارًا)، يتم بعد ذلك فرضها في قواعد الأمان الخاصة بالتطبيق.

بعد تعديل المطالبات المخصّصة لمستخدم من خلال Firebase Admin SDK، يتم نشرها للمستخدمين الذين تمت مصادقتهم على جهة العميل من خلال رموز التعريف. رمز التعريف هو آلية موثوقة لتقديم هذه المطالبات المخصّصة، ويجب أن تتحقّق جميع عمليات الوصول المصادَق عليها من صحة رمز التعريف قبل معالجة الطلب المرتبط به.

التحكّم في الوصول باستخدام المطالبات المخصّصة