مقدمة إلى Admin Auth API

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

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

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

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

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

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

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

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

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

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

تحقق من رموز المعرف

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

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

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

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