Catch up on highlights from Firebase at Google I/O 2023. Learn more

ابدأ باستخدام App Check مع reCAPTCHA Enterprise في تطبيقات الويب

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

reCAPTCHA Enterprise هي خدمة مدفوعة مع حصة بدون تكلفة. يدعم App Check أيضًا reCAPTCHA v3 ، وهي خدمة مجانية. لمعرفة الاختلافات بين reCAPTCHA v3 و reCAPTCHA Enterprise ، راجع مقارنة الميزات .

لاحظ أن التحقق من التطبيق يستخدم مفاتيح موقع reCAPTCHA Enterprise القائمة على النقاط ، مما يجعلها غير مرئية للمستخدمين. لن يطلب موفر reCAPTCHA Enterprise من المستخدمين حل التحدي في أي وقت.

إذا كنت تريد استخدام التحقق من التطبيق مع الموفر المخصص الخاص بك ، فراجع تنفيذ موفر فحص التطبيق المخصص .

1. قم بإعداد مشروع Firebase

  1. أضف Firebase إلى مشروع JavaScript الخاص بك إذا لم تكن قد قمت بذلك بالفعل.

  2. افتح قسم reCAPTCHA Enterprise في وحدة التحكم السحابية وقم بما يلي:

    1. إذا طُلب منك تمكين reCAPTCHA Enterprise API ، فقم بذلك.
    2. قم بإنشاء مفتاح من نوع موقع الويب . ستحتاج إلى تحديد المجالات التي تستضيف عليها تطبيق الويب الخاص بك. اترك خيار "استخدام تحدي مربع الاختيار" غير محدد .
  3. سجّل تطبيقاتك لاستخدام App Check مع موفر reCAPTCHA Enterprise في قسم App Check في وحدة تحكم Firebase. ستحتاج إلى توفير مفتاح الموقع الذي حصلت عليه في الخطوة السابقة.

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

  4. اختياري : في إعدادات تسجيل التطبيق ، قم بتعيين وقت مخصص للعيش (TTL) لرموز التحقق من التطبيق الصادرة عن الموفر. يمكنك ضبط TTL على أي قيمة تتراوح بين 30 دقيقة و 7 أيام. عند تغيير هذه القيمة ، انتبه للمفاضلات التالية:

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

    مدة البقاء الافتراضية لمدة ساعة واحدة مناسبة لمعظم التطبيقات. لاحظ أن مكتبة App Check تقوم بتحديث الرموز المميزة في حوالي نصف مدة TTL.

2. قم بإضافة مكتبة App Check إلى تطبيقك

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

3. تهيئة فحص التطبيق

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

Web modular API

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 namespaced API

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 في تطبيقك ، انشرها.

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

مراقبة المقاييس وتمكين الإنفاذ

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

للمساعدة في اتخاذ هذا القرار ، يمكنك الاطلاع على مقاييس التحقق من التطبيقات للخدمات التي تستخدمها:

تفعيل فرض التحقق من التطبيق

عندما تفهم كيف سيؤثر فحص التطبيق على المستخدمين لديك وأنت مستعد للمتابعة ، يمكنك تمكين فرض التحقق من التطبيق:

استخدام التحقق من التطبيق في بيئات التصحيح

إذا كنت ترغب ، بعد تسجيل تطبيقك في App Check ، في تشغيل التطبيق في بيئة لا يصنفها App Check عادةً على أنها صالحة ، مثل محليًا أثناء التطوير أو من بيئة تكامل مستمرة (CI) ، يمكنك إنشاء بناء تصحيح أخطاء تطبيقك الذي يستخدم موفر تصحيح أخطاء App Check بدلاً من موفر تصديق حقيقي.

راجع استخدام التحقق من التطبيق مع موفر تصحيح الأخطاء في تطبيقات الويب .

ملاحظة حول التكلفة

يُنشئ App Check تقييمًا نيابةً عنك للتحقق من صحة رمز استجابة المستخدم في كل مرة يقوم فيها المتصفح الذي يقوم بتشغيل تطبيق الويب الخاص بك بتحديث رمز التحقق من التطبيق. سيتم تحميل مشروعك مقابل كل تقييم تم إنشاؤه فوق الحصة الخالية من التكلفة. راجع تسعير reCAPTCHA Enterprise للحصول على التفاصيل.

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