توضّح لك هذه الصفحة كيفية تفعيل 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 أيام. عند تغيير هذه القيمة، يجب مراعاة المفاضلات التالية:
- الأمان: توفّر فترات صلاحية قصيرة للذاكرة المؤقتة أمانًا أكبر، لأنّها تقلّل من المهلة التي يمكن فيها لمهاجمٍ إساءة استخدام رمز مميّز تم تسريبه أو اعتراضه.
- الأداء: تعني مدد البقاء القصيرة أنّ تطبيقك سيُجري عملية إثبات الهوية بشكلٍ أكثر تكرارًا. بما أنّ عملية إثبات ملكية التطبيق تضيف وقت استجابة إلى طلبات الشبكة في كل مرة يتم فيها تنفيذها، يمكن أن تؤثّر مدة البقاء القصيرة في أداء تطبيقك.
- الحصة والتكلفة: إنّ قيم مهلة الجلسة الأقصر وعمليات إعادة الشهادة المتكرّرة تؤديان إلى استنفاد الحصة بشكل أسرع، وقد تؤدي إلى زيادة التكلفة في الخدمات المدفوعة. راجِع الحصص والحدود.
إنّ مدة البقاء التلقائية التي تبلغ ساعة واحدة هي مدة معقولة لمعظم التطبيقات. يُرجى العلم أنّ مكتبة 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 (وبالتالي عدد المرات التي يتم فيها إنشاء تقييمات جديدة)، يمكنك ضبط مدة بقائها.