معلومات عن استخدام مفاتيح واجهة برمجة التطبيقات وإدارتها لمنصة Firebase

مفتاح واجهة برمجة التطبيقات هو سلسلة فريدة تُستخدَم لتوجيه الطلبات إلى Firebase. عند التفاعل مع Firebase وخدمات Google. تصف هذه الصفحة الأساسية حول مفاتيح واجهة برمجة التطبيقات بالإضافة إلى أفضل الممارسات لاستخدام وإدارة مفاتيح واجهة برمجة التطبيقات باستخدام تطبيقات Firebase.

معلومات عامة عن مفاتيح واجهة برمجة التطبيقات وFirebase

تختلف مفاتيح واجهة برمجة التطبيقات في Firebase عن مفاتيح واجهة برمجة التطبيقات النموذجية.

بخلاف الطريقة التي تُستخدم بها مفاتيح واجهة برمجة التطبيقات عادةً، تُستخدم مفاتيح واجهة برمجة التطبيقات لخدمات Firebase في لا تُستخدَم للتحكّم في الوصول إلى الموارد الخلفية. لا يمكن القيام به إلا مع Firebase Security Rules (لتحديد المستخدمين النهائيين الذين يمكنهم الوصول إلى الموارد) Firebase App Check (لتحديد التطبيقات التي يمكنها الوصول إلى الموارد).

تحتاج عادةً إلى حماية مفاتيح واجهة برمجة التطبيقات بسرعة (على سبيل المثال، باستخدام خدمة Vault أو ضبط المفاتيح كمتغيّرات للبيئة) وَلَكِنْ يمكن تضمين مفاتيح واجهة برمجة التطبيقات لخدمات Firebase في الرمز البرمجي أو الإعدادات التي تم التحقّق منها. الملفات.

على الرغم من أنّ تضمين مفاتيح واجهة برمجة التطبيقات لخدمات Firebase آمنة، إلا أنه يجب مراجعة القيود والحدود المناسبة وتطبيقها عليها.

إنشاء مفاتيح واجهة برمجة التطبيقات

يمكن أن يحتوي مشروع Firebase على العديد من مفاتيح واجهة برمجة التطبيقات، ولكن لا يمكن إلا أن يكون كل مفتاح واجهة برمجة تطبيقات المرتبطة بمشروع واحد في Firebase.

مفاتيح واجهة برمجة التطبيقات التي يتم إنشاؤها تلقائيًا بواسطة Firebase لتطبيقات Firebase

ينشئ Firebase تلقائيًا مفاتيح واجهة برمجة التطبيقات لمشروعك عند تنفيذ أي من التالي:

  • إنشاء مشروع على Firebase > تم إنشاء "Browser key" تلقائيًا
  • إنشاء تطبيق Apple على Firebase > تم إنشاء "iOS key" تلقائيًا
  • إنشاء تطبيق Android على Firebase > تم إنشاء "Android key" تلقائيًا

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

العثور على مفاتيح واجهة برمجة التطبيقات

يمكنك الاطّلاع على جميع مفاتيح واجهة برمجة التطبيقات لمشروعك وإدارتها في واجهات برمجة التطبيقات الخدمات > المؤهلات في وحدة تحكم Google Cloud.

يمكنك أيضًا العثور على مفتاح واجهة برمجة التطبيقات الذي تتم مطابقته تلقائيًا مع تطبيق Firebase في الأماكن التالية. من بشكلٍ تلقائي، جميع تطبيقات Firebase الخاصة بمشروعك للنظام الأساسي نفسه (Apple مقابل Android مقابل الويب) مفتاح واجهة برمجة التطبيقات نفسه.

  • تطبيقات Firebase Apple: العثور على مفتاح واجهة برمجة التطبيقات المطابق تلقائيًا في Firebase GoogleService-Info.plist، في API_KEY.

  • تطبيقات Firebase المتوافقة مع Android: يمكنك العثور على مفتاح واجهة برمجة التطبيقات الذي تتم المطابقة تلقائيًا معه في ملف إعداد Firebase ، google-services.json، في current_key.

  • تطبيقات الويب من Firebase: العثور على مفتاح واجهة برمجة التطبيقات المطابق تلقائيًا في Firebase في الحقل apiKey.

استخدام مفتاح واجهة برمجة التطبيقات

تُستخدَم مفاتيح واجهة برمجة التطبيقات لتحديد مشروع Firebase عند التفاعل مع خدمات Firebase/Google وتُستخدَم تحديدًا لربط طلبات البيانات من واجهة برمجة التطبيقات مع مشروعك للحصة والفوترة. إنها مفيدة أيضًا للوصول إلى للبيانات العامة.

على سبيل المثال، يمكنك استخدام مفتاح واجهة برمجة التطبيقات صراحةً عن طريق تمرير قيمته إلى REST طلب بيانات من واجهة برمجة التطبيقات كمعلمة طلب بحث يوضّح هذا المثال كيفية تقديم طلب. إلى واجهة برمجة تطبيقات تقصير الروابط Dynamic Links:

POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY

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

مراجعة القيود المناسبة وتطبيقها على مفاتيح واجهة برمجة التطبيقات (يُنصح بهذا الخيار)

على الرغم من أنّه ليس من الضروري التعامل مع مفتاح واجهة برمجة تطبيقات لخدمات Firebase على أنّه عليك مراجعة القيود والحدود وتطبيقها كما هو موضح في هذا .

مراجعة واجهات برمجة التطبيقات التي تمت إضافتها تلقائيًا إلى القائمة المسموح بها لمفاتيح واجهة برمجة التطبيقات في Firebase

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

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

زيادة الحصة إذا كنت تستخدم Authentication المستندة إلى كلمة المرور

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

للتخفيف من احتمالية إساءة استخدام مفتاح واجهة برمجة التطبيقات لمحاولة هجوم القوة الغاشمة، فيمكنك زيادة الحصة الافتراضية نقطتا نهاية (identitytoolkit.googleapis.com) لتعكس حركة المرور العادية توقعات تطبيقك. يُرجى العلم أنّه في حال حصر هذه الحصة وتطبيقك المستخدمين فجأة، فقد تظهر لك أخطاء في تسجيل الدخول إلى أن تزيد الحصة. يمكنك تغيير حصص واجهة برمجة التطبيقات الخاصة بمشروعك في وحدة تحكّم Google Cloud.

استخدام مفاتيح واجهة برمجة تطبيقات منفصلة ومحدودة لأي خدمة غير تابعة لمنصة Firebase

على الرغم من أنّ مفاتيح واجهة برمجة التطبيقات المُستخدَمة في خدمات Firebase لا تحتاج إلى المعالجة بشكل عام. سرّيًا، عليك اتخاذ بعض الاحتياطات الإضافية باستخدام مفاتيح واجهة برمجة التطبيقات التي تستخدمها مع واجهات برمجة تطبيقات Google Cloud الأخرى.

في حال استخدام واجهة برمجة تطبيقات Google Cloud (على أيّ نظام أساسي) غير تابعة لمنصة Firebase الخدمة / المنتج، نوصي بشدة بإنشاء مفاتيح واجهة برمجة تطبيقات منفصلة ومحدودة للاستخدام مع واجهات برمجة التطبيقات هذه. وهذا مهم بشكل خاص إذا كانت واجهة برمجة التطبيقات خدمة Google Cloud قابلة للفوترة.

على سبيل المثال، إذا كنت تستخدم Firebase ML وواجهات برمجة تطبيقات Cloud Vision على iOS، عليك إنشاء مفاتيح واجهة برمجة تطبيقات منفصلة تستخدمها فقط للوصول إلى واجهات برمجة تطبيقات Cloud Vision

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

استخدام مفاتيح واجهة برمجة تطبيقات خاصة بالبيئة (إجراء يُنصح به)

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

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

يُرجى العِلم أنّه في حال استخدام "Firebase Local Emulator Suite" في التطوير. مع Firebase ML، عليك إنشاء مفتاح واجهة برمجة تطبيقات مخصّص لتصحيح الأخطاء فقط واستخدامه. الإرشادات لإنشاء هذا النوع من المفاتيح، يتم Firebase ML مستندات

الأسئلة الشائعة وتحديد المشاكل وحلّها

الأسئلة الشائعة

تحديد المشاكل وحلّها