1- مقدمة
تاريخ آخر تعديل: 23 شباط (فبراير) 2023
كيف يمكنك منع الوصول غير المصرّح به إلى موارد Firebase؟
يمكنك استخدام فحص التطبيقات من Firebase لمنع العملاء غير المصرّح لهم من الوصول إلى موارد الخلفية من خلال طلب إرفاق شهادات تُثبت أنّ الطلبات الواردة واردة من تطبيقك الأصلي، ومنع الزيارات التي لا تتضمّن شهادة صالحة. تعتمد ميزة "فحص التطبيقات من Firebase" على مقدّمي بيانات الإثبات الخاصين بالمنصة للتحقّق من صحة العميل: بالنسبة إلى تطبيقات الويب، تتوافق ميزة "فحص التطبيقات من Firebase" مع الإصدار 3 من reCAPTCHA وReCAPTCHA Enterprise كمقدّمي بيانات إثبات.
يمكن استخدام ميزة "فحص التطبيقات" لحماية الطلبات المرسَلة إلى Cloud Firestore و"قاعدة بيانات في الوقت الفعلي" و"وظائف السحابة الإلكترونية" و"مصادقة Firebase" باستخدام "منصّة الهوية" وعلى الخلفيات التي تستضيفها بنفسك.
التطبيق الذي ستصممه
في هذا الدرس التطبيقي حول الترميز، ستُحصّن تطبيق محادثات من خلال إضافة ميزة "فحص التطبيق" أولاً ثم فرضها.
ما ستتعرّف عليه
- كيفية مراقبة الخلفية بحثًا عن الوصول غير المصرّح به
- كيفية إضافة إجراءات تنفيذية إلى Firestore وCloud Storage
- كيفية تشغيل تطبيقك باستخدام رمز مميز لتصحيح الأخطاء في وضع التطوير على الجهاز
المتطلبات
- حزمة IDE أو محرِّر النصوص الذي تختاره
- أداة إدارة الحِزم npm، التي تأتي عادةً مع Node.js
- تثبيت واجهة برمجة التطبيقات Firebase CLI وضبطها للعمل مع حسابك
- نافذة طرفية/وحدة تحكّم
- متصفّح من اختيارك، مثل Chrome
- نموذج الرمز البرمجي للدرس التطبيقي حول الترميز (اطّلِع على الخطوة التالية من الدرس التطبيقي حول الترميز لمعرفة كيفية الحصول على الرمز).
2- الحصول على نموذج الرمز
استنسِخ مستودع GitHub الخاص ببرنامج التعليم البرمجي من سطر الأوامر:
git clone https://github.com/firebase/codelab-friendlychat-web
بدلاً من ذلك، إذا لم يكن Git مثبّتًا لديك، يمكنك تنزيل المستودع كملف ZIP.
استيراد التطبيق المُنشئ
باستخدام بيئة تطوير البرامج المتكاملة، افتح الدليل 📁 appcheck-start
أو استورِده من المستودع المُنشَئ من النسخة. يحتوي هذا الدليل 📁 appcheck-start
على الرمز البرمجي الأوّلي للدرس التطبيقي، والذي سيكون تطبيق ويب مخصّصًا للدردشة يعمل بكامل وظائفه. سيتضمّن الدليل 📁 appcheck
الرمز البرمجي المكتمل للدرس التطبيقي.
3- إنشاء مشروع على Firebase وإعداده
إنشاء مشروع على Firebase
- سجِّل الدخول إلى Firebase.
- في وحدة تحكّم Firebase، انقر على "إضافة مشروع"، ثمّ أدخِل اسمًا لمشروعك على Firebase: FriendlyChat. تذكَّر رقم تعريف مشروعك على Firebase.
- أزِل العلامة من المربّع بجانب "تفعيل "إحصاءات Google" لهذا المشروع.
- انقر على "إنشاء مشروع".
يستخدم التطبيق الذي سننشئه منتجات Firebase المتاحة لتطبيقات الويب:
- Firebase Authentication للسماح للمستخدمين بتسجيل الدخول إلى تطبيقك بسهولة
- Cloud Firestore لحفظ البيانات المنظَّمة على السحابة الإلكترونية والحصول على إشعار فوري عند تغيُّر البيانات
- Cloud Storage لبرنامج Firebase لحفظ الملفات في السحابة الإلكترونية
- استضافة Firebase لاستضافة مواد العرض وعرضها
- Firebase Cloud Messaging لإرسال الإشعارات الفورية وعرض الإشعارات المنبثقة في المتصفّح
- مراقبة أداء Firebase لجمع بيانات أداء المستخدمين لتطبيقك
وتتطلّب بعض هذه المنتجات إعدادًا خاصًا أو تفعيلها باستخدام وحدة تحكُّم Firebase.
ترقية خطة أسعار Firebase
لاستخدام Cloud Storage لبرنامج Firebase، يجب أن يكون مشروعك على Firebase مُدرَجًا في خطة الأسعار "الدفع حسب الاستخدام" (Blaze)، ما يعني أنّه مرتبط بحساب على "الفوترة في السحابة الإلكترونية".
- يتطلّب حساب "الفوترة في Google Cloud" طريقة دفع، مثل بطاقة الائتمان.
- إذا كنت حديث العهد باستخدام Firebase وGoogle Cloud، تحقّق ممّا إذا كنت مؤهلاً للحصول على رصيد بقيمة 300 دولار أمريكي وحساب "الفوترة في السحابة الإلكترونية" في الفترة التجريبية المجانية.
- إذا كنت تُجري هذا الإصدار التجريبي من رمز المصدر كجزء من حدث، اسأل المنظِّم ما إذا كانت هناك أي أرصدة متاحة في Cloud.
لترقية مشروعك إلى خطة Blaze، اتّبِع الخطوات التالية:
- في "وحدة تحكّم Firebase"، اختَر ترقية خطتك.
- اختَر خطة Blaze. اتّبِع التعليمات الظاهرة على الشاشة لربط حساب "فوترة على Cloud" بمشروعك.
إذا كنت بحاجة إلى إنشاء حساب "فوترة على Cloud" كجزء من هذه الترقية، قد تحتاج إلى الرجوع إلى مسار الترقية في وحدة تحكّم Firebase لإكمال الترقية.
إضافة تطبيق ويب على Firebase إلى المشروع
- انقر على رمز الويب لإنشاء تطبيق ويب جديد على Firebase.
- سجِّل التطبيق باسم "محادثة ودية"، ثم ضَع علامة في المربّع بجانب إعداد ميزة "استضافة Firebase" لهذا التطبيق أيضًا. انقر على تسجيل التطبيق.
- في الخطوة التالية، سيظهر لك أمر لتثبيت Firebase باستخدام npm وعنصر إعداد. ستنسخ هذا العنصر لاحقًا في ورشة رموز البرامج، لذا اضغط على التالي الآن.
- سيظهر لك بعد ذلك خيار تثبيت واجهة برمجة التطبيقات Firebase CLI. إذا لم يسبق لك تثبيته، يمكنك إجراء ذلك الآن باستخدام الأمر
npm install -g firebase-tools
. بعد ذلك، انقر على التالي. - بعد ذلك، سيظهر لك خيار لتسجيل الدخول إلى Firebase والنشر على استضافة Firebase. يمكنك تسجيل الدخول إلى Firebase باستخدام الأمر
firebase login
، ثم النقر على متابعة إلى وحدة التحكّم. يمكنك نشر التطبيق على استضافة Firebase في خطوة مستقبلية.
تفعيل ميزة "تسجيل الدخول باستخدام حساب Google" في ميزة "مصادقة Firebase"
للسماح للمستخدمين بتسجيل الدخول إلى تطبيق الويب باستخدام حساباتهم على Google، سنستخدم طريقة تسجيل الدخول في Google.
عليك تفعيل ميزة "تسجيل الدخول باستخدام حساب Google":
- في وحدة تحكّم Firebase، ابحث عن قسم الإصدار في اللوحة اليمنى.
- انقر على المصادقة، ثم انقر على البدء إذا كان ذلك منطبقًا، ثم انقر على علامة التبويب طريقة تسجيل الدخول (أو انقر على هذا الرابط للانتقال إليها مباشرةً).
- تفعيل موفِّر خدمة تسجيل الدخول بحساب Google
- اضبط الاسم العلني لتطبيقك على "محادثة ودية" واختَر عنوان بريد إلكتروني لفريق دعم المشروع من القائمة المنسدلة.
- انقر على حفظ.
إعداد Cloud Firestore
يستخدم تطبيق الويب Cloud Firestore لحفظ رسائل المحادثات وتلقّي رسائل محادثات جديدة.
في ما يلي كيفية إعداد Cloud Firestore في مشروعك على Firebase:
- في اللوحة اليمنى من "وحدة تحكّم Firebase"، وسِّع الإنشاء، ثم اختَر قاعدة بيانات Firestore.
- انقر على إنشاء قاعدة بيانات.
- اترك رقم تعريف قاعدة البيانات مضبوطًا على
(default)
. - اختَر موقعًا لقاعدة بياناتك، ثم انقر على التالي.
بالنسبة إلى التطبيق الحقيقي، عليك اختيار موقع قريب من المستخدمين. - انقر على البدء في وضع الاختبار. اقرأ بيان إخلاء المسؤولية عن قواعد الأمان.
في وقت لاحق من هذا الدليل التعليمي، ستضيف قواعد أمان لتأمين بياناتك. لا توزِّع تطبيقًا علنًا أو تعرضه بدون إضافة قواعد أمان لقاعدة بياناتك. - انقر على إنشاء.
إعداد "مساحة التخزين في السحابة الإلكترونية" لبرنامج Firebase
يستخدم تطبيق الويب ميزة "التخزين في السحابة الإلكترونية" لبرنامج Firebase لتخزين الصور وتحميلها ومشاركتها.
في ما يلي كيفية إعداد ميزة "التخزين في السحابة الإلكترونية" لبرنامج Firebase في مشروعك على Firebase:
- في اللوحة اليسرى من وحدة تحكّم Firebase، وسِّع الإصدار، ثم اختَر مساحة التخزين.
- انقر على البدء.
- اختَر موقعًا جغرافيًا لحزمة التخزين التلقائية.
يمكن للحِزم فيUS-WEST1
وUS-CENTRAL1
وUS-EAST1
الاستفادة من المستوى"مجاني دائمًا" في Google Cloud Storage. تخضع الحِزم في جميع المواقع الجغرافية الأخرى لأسعار Google Cloud Storage واستخدامها. - انقر على البدء في وضع الاختبار. اقرأ بيان إخلاء المسؤولية بشأن قواعد الأمان.
في وقت لاحق من هذا الدليل التعليمي، ستضيف قواعد أمان لتأمين بياناتك. لا توزِّع تطبيقًا علنًا أو تعرضه بدون إضافة قواعد أمان لحزمة التخزين. - انقر على إنشاء.
4. ضبط إعدادات Firebase
من دليل appcheck-start
، اتصل على:
firebase use --add
اختَر رقم تعريف المشروع عندما يُطلب منك ذلك، ثمّ أدخِل اسمًا بديلاً لمشروعك على Firebase. بالنسبة إلى هذا المشروع، يمكنك فقط منح الاسم المعرِّف default. بعد ذلك، عليك ضبط مشروعك على الجهاز ليعمل مع Firebase.
- انتقِل إلى إعدادات المشروع في وحدة تحكُّم Firebase.
- في بطاقة "تطبيقاتك"، اختَر الاسم المعرِّف للتطبيق الذي تحتاج إلى عنصر إعدادات له.
- اختَر الإعداد من لوحة مقتطف حزمة تطوير البرامج (SDK) لمنصّة Firebase.
- انسخ مقتطف عنصر الإعدادات، ثم أضفه إلى
appcheck-start/hosting/src/firebase-config.js
. تفترض بقية جلسة إنشاء الرمز البرمجي أنّ اسم المتغيّر هو config.
firebase-config.js
const config = {
apiKey: "API_KEY",
authDomain: "PROJECT_ID.firebaseapp.com",
databaseURL: "https://PROJECT_ID.firebaseio.com",
projectId: "PROJECT_ID",
storageBucket: "PROJECT_ID.firebasestorage.app",
messagingSenderId: "SENDER_ID",
appId: "APP_ID",
measurementId: "G-MEASUREMENT_ID",
};
من دليل appcheck-start
نفسه، اتصل على:
firebase experiments:enable webframeworks
يتيح ذلك دعم إطار عمل الويب الذي تم إنشاء هذا المشروع باستخدامه.
من المفترض أن نكون جاهزين الآن لتشغيل مشروعك واختبار عمل المشروع التلقائي.
5- تجربة التطبيق بدون ميزة "فحص التطبيق"
بعد ضبط إعدادات تطبيقك وإعداد حزمة SDK، حاوِل استخدام التطبيق على النحو الذي تم تصميمه له في الأصل. أولاً، ابدأ بتثبيت جميع التبعيات. من وحدة التحكّم الطرفية، انتقِل إلى الدليل appcheck-start/hosting
. أثناء الانتقال إلى هذا الدليل، شغِّل npm install
. يؤدي ذلك إلى جلب جميع التبعيات لكي يعمل مشروعك. لبدء التطبيق في حالته الحالية، يمكنك تشغيل firebase serve
. يطلب منك التطبيق تسجيل الدخول باستخدام حساب Google، لذا يُرجى إجراء ذلك، ثم محاولة نشر بعض رسائل المحادثة وبعض الصور في المحادثة.
بعد أن اختبرت التطبيق على جهازك، حان وقت نشره. شغِّل firebase deploy
لنشر تطبيق الويب على الويب. يُعدّ هذا الجزء خطوة حاسمة في عرض كيفية عمل App Check في الواقع، لأنّه يتطلّب ضبط نطاق لمقدّم شهادة اعتماد reCAPTCHA Enterprise.
نأمل أن تكون لديك الإمكانية التلقائية التي يوفّرها التطبيق. نشر رسائل المحادثة وكل ما يجب تنفيذه من تطبيق مثل هذا فقط الجانب السلبي للحالة الحالية هو أنّ أي مستخدم لديه إعدادات تطبيقك من الخطوة السابقة يمكنه الوصول إلى موارد الخلفية. ولا يزال عليهم الالتزام بقواعد الأمان التي تفرضها أنظمة Firestore وCloud Storage، ولكن بخلاف ذلك، سيظل بإمكانهم طلب البيانات المخزّنة هناك وتخزينها والوصول إليها.
في الخطوات القليلة التالية، عليك تنفيذ ما يلي:
- التسجيل في فحص التطبيق
- التحقّق من تنفيذ الإجراء
- بدء فرض القواعد
6- تفعيل ميزة "فحص التطبيق" وميزة "فرض السياسات"
لنبدأ بحصولك على مفتاح reCAPTCHA Enterprise لمشروعك وإضافته إلى App Check. ابدأ بالانتقال إلى قسم reCAPTCHA Enterprise في Google Cloud Console. اختَر مشروعك، وسيُطلب منك بعد ذلك تفعيل واجهة برمجة التطبيقات reCAPTCHA Enterprise API. فعِّل واجهة برمجة التطبيقات وانتظر بضع دقائق حتى تكتمل العملية. بعد ذلك، انقر على إنشاء مفتاح بجانب مفاتيح المؤسسة. بعد ذلك، في هذا القسم، حدِّد اسمًا معروضًا واختَر مفتاح نوع الموقع الإلكتروني. عليك تحديد النطاقات التي يتم استضافة تطبيقك عليها. بما أنّك تخطّط لاستضافة هذا التطبيق على Firebase Hosting، يمكنك استخدام اسم الاستضافة التلقائي الذي يكون عادةً ${YOUR_PROJECT_ID}.web.app
. يمكنك العثور على نطاق الاستضافة ضمن قسم "الاستضافة" في وحدة تحكّم Firebase. بعد ملء هذه المعلومات، اضغط على تم وإنشاء مفتاح.
بعد اكتمال العملية، سيظهر لك رقم تعريف في أعلى صفحة تفاصيل المفتاح.
يُرجى نسخ رقم التعريف هذا إلى الحافظة. هذا هو المفتاح الذي تستخدمه في ميزة "فحص التطبيق". بعد ذلك، انتقِل إلى قسم فحص التطبيق في وحدة تحكُّم Firebase، وانقر على البدء. بعد ذلك، انقر على تسجيل ثم على reCAPTCHA Enterprise وضع رقم التعريف المنسوخ في مربّع نص مفتاح الموقع الإلكتروني في reCAPTCHA Enterprise. اترك بقية الإعدادات على الإعداد التلقائي. من المفترض أن تظهر صفحة "فحص التطبيق" على النحو التالي:
الطلبات غير التي لم يتم إثبات صحتها ولم يتم فرضها
بعد أن أصبح لديك مفتاح مسجّل في وحدة تحكّم Firebase، ارجع إلى تشغيل موقعك الإلكتروني في المتصفّح من خلال تشغيل firebase serve
. في هذه الحالة، يتم تشغيل تطبيق الويب على الجهاز، ويمكنك بدء إرسال طلبات إلى الخلفية في Firebase مرة أخرى. بما أنّ الطلبات تخالف الخلفية في Firebase، يتم تتبُّعها من خلال أداة App Check ولكن لا يتم فرضها. إذا أردت الاطّلاع على حالة الطلبات الواردة، يمكنك الانتقال إلى قسم Cloud Firestore في علامة التبويب "واجهات برمجة التطبيقات" ضمن صفحة App Check (فحص التطبيق) في وحدة تحكّم Firebase. بما أنّك لم تضبط البرنامج لاستخدام App Check بعد، من المفترض أن يظهر لك ما يلي:
تتلقّى الخلفية طلبات لم يتم إثبات ملكيتها بنسبة% 100. هذه الشاشة مفيدة لأنّها تُظهر أنّ جميع طلبات العملاء تقريبًا تأتي من عملاء لم يتم دمج ميزة "فحص التطبيق" لديهم.
يمكن أن تشير لوحة البيانات هذه إلى بعض الأمور. أول ما يمكن أن يشير إليه هو ما إذا كانت جميع تطبيقات العملاء تستخدم أحدث إصدار من العميل. إذا كان الأمر كذلك، يمكنك فرض فحص التطبيق بأمان بدون القلق بشأن إيقاف إمكانية وصول عميل حقيقي لتطبيقك. يشير ذلك أيضًا إلى عدد محاولات الوصول إلى الخلفية التي تم إجراؤها بدون أن تكون من داخل تطبيقك. وقد يكون ذلك بسبب مستخدمين يطلبون بيانات من الخلفية مباشرةً بدون علمك. بما أنّه يمكنك الاطّلاع على أنّ الطلبات لم يتم التحقّق منها، حان الوقت لمعرفة ما سيحدث لهؤلاء المستخدمين الذين قد يكون لديهم طلب غير مؤكَّد إلى الخلفية قبل الانتقال إلى التحقّق من طلبات هؤلاء المستخدمين.
الطلبات غير المؤكَّدة والطلبات المفروضة
يُرجى الضغط على الزر فرض من الشاشة السابقة، ثم الضغط على فرض مرة أخرى إذا طُلب منك ذلك.
سيؤدي ذلك إلى فرض فحص التطبيق، وسيحظر الآن الطلبات الواردة إلى خدمات الخلفية التي لم يتم التحقّق منها من خلال مقدّم شهادة الاعتماد الذي اخترته (في هذه الحالة، reCAPTCHA Enterprise). ارجع إلى تطبيق الويب الذي يعمل على http://localhost:5000
. عند إعادة تحميل الصفحة ومحاولة الحصول على البيانات من قاعدة البيانات، لا يحدث شيء. إذا فتحت وحدة تحكّم Chrome لقراءة الأخطاء، من المفترض أن يظهر لك ما يلي:
Uncaught Error in snapshot listener: FirebaseError: [code=permission-denied]: Missing or insufficient permissions.
يشير ذلك إلى أنّ ميزة "فحص التطبيقات من Firebase" تحظر الطلبات التي لم تُرسل رمز تأكيد صالحًا في طلبات الوصول إلى موارد Firebase. في الوقت الحالي، يمكنك إيقاف فرض فحص التطبيقات، وفي القسم التالي، يمكنك الاطّلاع على كيفية إضافة فحص التطبيقات من reCAPTCHA Enterprise إلى مثال "المحادثة الودية".
7- إضافة مفتاح reCAPTCHA Enterprise إلى الموقع الإلكتروني
سنضيف مفتاح المؤسسة إلى طلبك. أولاً، افتح hosting/src/firebase-config.js
وأضِف مفتاح reCAPTCHA Enterprise إلى مقتطف الرمز البرمجي التالي:
const reCAPTCHAEnterpriseKey = {
// Replace with your recaptcha enterprise site key
key: "Replace with your recaptcha enterprise site key"
};
بعد اكتمال ذلك، افتح hosting/src/index.js
وفي السطر 51، ستضيف عملية استيراد من firebase-config.js لجلب مفتاح reCAPTCHA واستيراد مكتبة App Check أيضًا حتى تتمكّن من العمل مع مقدّم خدمة reCAPTCHA Enterprise.
// add from here
import {
initializeAppCheck,
ReCaptchaEnterpriseProvider,
} from 'firebase/app-check';
// to here
// replace this line
import { getFirebaseConfig } from './firebase-config.js';
// with this line
import { getFirebaseConfig, getReCaptchaKey } from './firebase-config.js';
بعد ذلك، في السطر التالي، عليك إنشاء دالة لإعداد ميزة "فحص التطبيق". ستتحقّق الدالة أولاً ممّا إذا كنت في بيئة تطوير، وإذا كان الأمر كذلك، ستطبع رمز تصحيح أخطاء يمكنك استخدامه لتطوير التطبيقات على الجهاز.
import { getFirebaseConfig, getReCaptchaKey } from './firebase-config.js';
// add from here
function setupAppCheck(app) {
if(import.meta.env.MODE === 'development') {
self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
}
}
// to here
حان الآن وقت إعداد أداة "فحص التطبيقات" للعمل مع مقدّم الخدمة الذي اخترته، وهو في هذه الحالة reCAPTCHA Enterprise. بعد ذلك، عليك أيضًا إعادة تحميل رمز App Check تلقائيًا في الخلفية، ما سيمنع أي نوع من التأخير في تفاعل المستخدم مع خدمتك في حال انتهاء صلاحية رمز App Check.
function setupAppCheck(app) {
if(import.meta.env.MODE === 'development') {
self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
}
// add from here
// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to initializeAppCheck().
initializeAppCheck(app, {
provider: new ReCaptchaEnterpriseProvider(getReCaptchaKey()),
isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh.
});
// to here
}
أخيرًا، بعد التأكّد من بدء تشغيل التطبيق، عليك استدعاء دالة setupAppCheck التي أنشأتها للتو. في أسفل ملف hosting/src/index.js
، أضِف طلبًا إلى الطريقة التي أضفتها مؤخرًا.
const firebaseApp = initializeApp(getFirebaseConfig());
// add from here
setupAppCheck(firebaseApp);
// to here
getPerformance();
initFirebaseAuth();
loadMessages();
الاختبار على الجهاز أولاً
اختبِر تطبيقك على الجهاز أولاً. إذا لم تكن تعرض التطبيق محليًا، شغِّل firebase serve
. من المفترض أن تلاحظ أنّه لا يزال يتعذّر تحميل التطبيق على الجهاز. يرجع ذلك إلى أنّك سجّلت نطاق Firebase فقط مع مقدّم شهادة reCAPTCHA وليس مع نطاق المضيف المحلي. يجب عدم تسجيل localhost مطلقًا كنطاق موافَق عليه لأنّ ذلك يسمح للمستخدمين بالوصول إلى الخلفيات المحظورة من تطبيق يتم تشغيله محليًا على أجهزتهم. بدلاً من ذلك، بما أنّك ضبطت القيمة self.FIREBASE_APPCHECK_DEBUG_TOKEN = true
، عليك البحث في وحدة تحكّم JavaScript عن سطر يبدو على النحو التالي:
App Check debug token: 55183c20-de61-4438-85e6-8065789265be. You will need to add it to your app's App Check settings in the Firebase console for it to work.
عليك استخدام الرمز المميّز لتصحيح الأخطاء المقدَّم (في المثال، الرمز هو 55183c20-de61-4438-85e6-8065789265be
) وإدخاله في إعدادات "فحص التطبيق" ضمن قائمة الخيارات الإضافية لتطبيقك.
امنح الرمز المميّز اسمًا فريدًا يمكنك تذكره، ثم انقر على حفظ. يتيح لك هذا الخيار استخدام رمز مميّز أنشأه العميل مع تطبيقك، وهو بديل أكثر أمانًا من إنشاء رمز مميّز لتصحيح الأخطاء وتضمينه في تطبيقك. يمكن أن يؤدي تضمين رمز مميّز داخل التطبيق إلى توزيعه عن طريق الخطأ على المستخدمين النهائيين، ويمكن لهؤلاء المستخدمين النهائيين استغلاله من خلال تجاوز عمليات التحقّق التي تجريها. إذا أردت توزيع رمز مميّز لتصحيح الأخطاء، على سبيل المثال، في بيئة التطوير المتكامل (CI)، يُرجى الاطّلاع على هذه المستندات لمعرفة المزيد من المعلومات عن كيفية توزيعه.
بعد تسجيل رمز تصحيح الأخطاء في وحدة تحكّم Firebase، يمكنك إعادة تفعيل فرض فحص التطبيق واختبار تحميل محتوى التطبيق على الجهاز من خلال الاتصال بـ firebase serve
من المحطة الطرفية. من المفترض أن تظهر لك البيانات التي أدخلتها سابقًا معروضة في الإصدار المحلي من تطبيق الويب. من المفترض أن تظل الرسالة التي تتضمّن الرمز المميّز لتصحيح الأخطاء مطبوعة في وحدة التحكّم.
تجربة الميزة في قناة الإصدار العلني
بعد التأكّد من أنّ أداة App Check تعمل على الجهاز، يمكنك نشر تطبيق الويب في قناة الإصدار العلني. من المحطة الطرفية، اتصل بالرقم firebase deploy
مرة أخرى وأعِد تحميل الصفحة. سيؤدي ذلك إلى تجميع تطبيق الويب لتشغيله على Firebase Hosting. بعد استضافة تطبيقك على ميزة "استضافة Firebase"، حاوِل الانتقال إلى تطبيقك على الرابط ${YOUR_PROJECT_ID}.web.app
. يمكنك فتح وحدة تحكّم JavaScript، ومن المفترض ألا يظهر لك بعد ذلك رمز التفعيل لتصحيح الأخطاء، ومن المفترض أن تظهر لك المحادثات التي يتم تحميلها في مشروعك. بالإضافة إلى ذلك، بعد التفاعل مع التطبيق لبضع لحظات، يمكنك الانتقال إلى قسم "فحص التطبيق" في وحدة تحكّم Firebase والتحقّق من أنّ الطلبات الواردة إلى تطبيقك قد تمّ إثبات ملكيتها بالكامل.
8- تهانينا!
تهانينا، لقد أضفت ميزة "فحص التطبيقات من Firebase" بنجاح إلى تطبيق ويب.
يمكنك إعداد وحدة تحكّم Firebase لمعالجة رمز مميّز في reCAPTCHA Enterprise لإعدادات الإنتاج، ويمكنك أيضًا إعداد رموز مميّزة لتصحيح الأخطاء في وضع التطوير على الجهاز. يضمن ذلك أن تظل تطبيقاتك قادرة على الوصول إلى موارد Firebase من العملاء الموافَق عليهم، ويمنع حدوث نشاط احتيالي من داخل تطبيقك.
الخطوة التالية
اطّلِع على المستندات التالية لإضافة ميزة "فحص التطبيقات من Firebase" إلى:
- تفعيل ميزة "فرض الامتثال" في Cloud Functions
- التحقّق من رموز App Check المميّزة على الخلفيات المخصّصة