مقدّمة عن Admin Auth API

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

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

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

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

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

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

إثبات الهوية

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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