توضّح لك هذه الصفحة كيفية تفعيل App Check في تطبيق ويب، باستخدام موفّر reCAPTCHA Enterprise. عند تفعيل App Check، تساعد في ضمان أنّ تطبيقك فقط يمكنه الوصول إلى موارد Firebase في مشروعك. اطّلِع على نظرة عامة حول هذه الميزة.
يُرجى العِلم أنّ App Check يستخدم مفاتيح المواقع الإلكترونية المستندة إلى النقاط في reCAPTCHA Enterprise، ما يجعلها غير مرئية للمستخدمين. لن يطلب موفّر reCAPTCHA Enterprise من المستخدمين حلّ أي تحدّي في أي وقت.
إذا كنت تريد استخدام App Check مع موفِّر مخصّص، اطّلِع على مقالة تنفيذ موفِّر App Check مخصّص.
1- إعداد مشروعك على Firebase
أضِف Firebase إلى مشروع JavaScript إذا لم يسبق لك إجراء ذلك.
افتح قسم reCAPTCHA Enterprise في وحدة تحكّم Cloud ونفذ ما يلي:
- إذا طُلِب منك تفعيل reCAPTCHA Enterprise API، يُرجى تنفيذ هذا الإجراء.
- أنشئ مفتاحًا من نوع الموقع الإلكتروني. عليك تحديد النطاقات التي تستضيف عليها تطبيق الويب. اترك الخيار "استخدام تحدّي مربّع الاختيار" غير محدّد.
سجِّل تطبيقاتك لاستخدام App Check مع مزوّد reCAPTCHA Enterprise في القسم App Check من وحدة تحكّمFirebase. عليك تقديم مفتاح الموقع الإلكتروني الذي حصلت عليه في الخطوة السابقة.
عليك عادةً تسجيل جميع تطبيقات مشروعك، لأنّه بعد فعالة ميزة فرض الامتثال لمنتج Firebase، لن تتمكّن سوى التطبيقات المسجّلة من الوصول إلى موارد الخلفية للتطبيق.
اختياري: في إعدادات تسجيل التطبيق، يمكنك تحديد مدة بقاء (TTL) مخصّصة للرموز المميّزة App Check الصادرة عن موفّر الخدمة. يمكنك ضبط مدة البقاء على أي قيمة تتراوح بين 30 دقيقة و7 أيام. عند تغيير هذه القيمة، يجب أن تكون على دراية بالإيجابيات والسلبيات التالية:
- الأمان: توفّر فترات صلاحية قصيرة للذاكرة المؤقتة أمانًا أكبر، لأنّها تقلّل من المهلة التي يمكن فيها لمهاجمٍ إساءة استخدام رمز مميّز تم تسريبه أو اعتراضه.
- الأداء: تعني مدد مدة البقاء (TTL) الأقصر أنّ تطبيقك سيُجري عملية إثبات الهوية بشكلٍ أكثر تكرارًا. بما أنّ عملية إثبات ملكية التطبيق تضيف وقت استجابة إلى طلبات الشبكة في كل مرة يتم فيها تنفيذها، يمكن أن تؤثّر مدة بقاء قصيرة في أداء تطبيقك.
- الحصة والتكلفة: إنّ قيم مهلة الجلسة الأقصر وعمليات إعادة الشهادة المتكرّرة تؤديان إلى استنفاد الحصة بشكل أسرع، وقد تؤدي إلى زيادة التكلفة في الخدمات المدفوعة. راجِع الحصص والحدود.
إنّ مدة البقاء التلقائية التي تبلغ ساعة واحدة هي مدة معقولة لمعظم التطبيقات. يُرجى العلم أنّ مكتبة App Check تُعيد تحميل الرموز المميّزة بعد مرور نصف مدة مدة بقاء المعلومات (TTL) تقريبًا.
2- إضافة مكتبة App Check إلى تطبيقك
أضِف Firebase إلى تطبيق الويب إذا لم يسبق لك إجراء ذلك. احرص على استيراد مكتبة App Check.
3- إعداد App Check
أضِف رمز الإعداد التالي إلى تطبيقك قبل الوصول إلى
أي من خدمات Firebase. عليك إرسال مفتاح الموقع الإلكتروني في reCAPTCHA Enterprise،
الذي أنشأته في وحدة تحكّم Cloud، إلى activate()
.
Web
import { initializeApp } from "firebase/app"; import { initializeAppCheck, ReCaptchaEnterpriseProvider } from "firebase/app-check"; const app = initializeApp({ // Your Firebase configuration object. }); // Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise // site key and pass it to initializeAppCheck(). const appCheck = initializeAppCheck(app, { provider: new ReCaptchaEnterpriseProvider(/* reCAPTCHA Enterprise site key */), isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh. });
Web
firebase.initializeApp({ // Your Firebase configuration object. }); // Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise // site key and pass it to activate(). const appCheck = firebase.appCheck(); appCheck.activate( new firebase.appCheck.ReCaptchaEnterpriseProvider( /* reCAPTCHA Enterprise site key */ ), true // Set to true to allow auto-refresh. );
الخطوات التالية
بعد تثبيت مكتبة App Check في تطبيقك، يمكنك نشرها.
سيبدأ تطبيق العميل المعدَّل بإرسال علامات App Check مع كل طلب يُرسله إلى Firebase، ولكن لن تشترط منتجات Firebase أن تكون العلامات صالحة إلى أن تفعِّل فرضها في قسم App Check ضمن وحدة تحكّم Firebase.
مراقبة المقاييس وتفعيل التنفيذ
قبل تفعيل ميزة "فرض الشروط"، عليك التأكّد من أنّ ذلك لن يؤدي إلى تعطيل استخدام المستخدمين الحاليين الشرعيين. من ناحية أخرى، إذا لاحظت استخدامًا مريبًا موارد تطبيقك، ننصحك بتفعيل إجراءات التنفيذ في وقت أقرب.
للمساعدة في اتخاذ هذا القرار، يمكنك الاطّلاع على مقاييس App Check للخدمات التي تستخدمها:
- مراقبة مقاييس طلبات App Check لكل من Realtime Database وCloud Firestore وCloud Storage وAuthentication (إصدار تجريبي) وVertex AI in Firebase.
- تتبُّع مقاييس طلبات App Check في Cloud Functions
تفعيل إجراءات تنفيذ App Check
عندما تدرك مدى تأثير App Check في المستخدمين لديك وتكون جاهزًا للمتابعة، يمكنك تفعيل تنفيذ App Check:
- تفعيل ميزة "فرض App Check" لتطبيق Realtime Database وCloud Firestore وCloud Storage وAuthentication (إصدار تجريبي) وVertex AI in Firebase
- تفعيل فرض App Check في Cloud Functions.
استخدام App Check في بيئات تصحيح الأخطاء
إذا أردت بعد تسجيل تطبيقك في App Check تشغيله في بيئة لا تصنّفها App Check عادةً على أنّها صالحة، مثل التشغيل على الجهاز أثناء التطوير أو من بيئة دمج مستمر (CI)، يمكنك إنشاء إصدار تصحيح أخطاء من تطبيقك يستخدم مزوّد تصحيح أخطاء App Check بدلاً من مزوّد إثبات الهوية الحقيقي.
راجِع مقالة استخدام App Check مع مقدّم تصحيح الأخطاء في تطبيقات الويب.
ملاحظة عن التكلفة
يُنشئ App Check تقييمًا نيابةً عنك للتحقّق من صحة رمز App Check العميل للردّ في كل مرة يُعيد فيها متصفّح يشغّل تطبيقك على الويب تحميل رمز App Check. سيتم تحصيل رسوم مشروعك مقابل كل تقييم يتم إنشاؤه أعلى من الحصة المجانية. اطّلِع على أسعار reCAPTCHA للحصول على التفاصيل.
سيُجدّد تطبيق الويب هذا الرمز المميّز تلقائيًا مرتين كل ساعة. للتحكّم في عدد المرات التي يُحدّث فيها تطبيقك رموز App Check المميزة (وبالتالي عدد تكرار إنشاء التقييمات الجديدة)، عليك ضبط مدة البقاء.