مقدمة إلى Admin Auth API

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

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

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

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

يمكنك دمج نظام مستخدم خارجي مع Firebase. على سبيل المثال ، قد يكون لديك بالفعل قاعدة بيانات مستخدم موجودة مسبقًا أو قد ترغب في الاندماج مع موفر هوية تابع لجهة خارجية لا تدعمه مصادقة Firebase في الأصل.

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

التحقق من الهوية

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

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

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

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

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

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

توفر حزمة 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 ، يتم نشرها إلى المستخدمين المصادق عليهم من جانب العميل عبر الرموز المميزة لمعرفهم. رمز المعرف هو آلية موثوق بها لتقديم هذه المطالبات المخصصة ، ويجب على كل الوصول المصادق عليه التحقق من صحة رمز المعرف قبل معالجة الطلب المرتبط.

التحكم في الوصول مع المطالبات المخصصة