مقدمة إلى Admin Auth API

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

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

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

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

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

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

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

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

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