بدء استخدام فحص التطبيقات مع reCAPTCHA Enterprise على منصات Apple

اختيار المنصة: iOS+ Android الويب Flutter


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

يتطلّب App Check استخدام مفاتيح مستندة إلى النتيجة reCAPTCHA، ما يجعلها غير مرئية للمستخدمين. يعني ذلك أنّ reCAPTCHA Enterprise مقدّم الخدمة لن يطلب من المستخدمين حلّ أي تحدٍّ في أي وقت.

إذا كانت حالة الاستخدام تتطلّب ميزات reCAPTCHA Enterprise غير مضمّنة في App Check، أو إذا كنت تريد استخدام App Check مع موفّر مخصّص خاص بك، يمكنك الاطّلاع على تنفيذ موفّر App Check مخصّص.

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

  1. أضِف Firebase إلى مشروع Apple إذا لم يسبق لك إجراء ذلك.

  2. في وحدة تحكّم Google Cloud، انتقِل إلى صفحة الدفاع ضد الاحتيال، ونفِّذ ما يلي لمقدّم خدمة reCAPTCHA Enterprise:

    1. تأكَّد من أنّك في المشروع الصحيح (راجِع أداة اختيار المشروع في أعلى الشاشة).

    2. فعِّل واجهة برمجة التطبيقات reCAPTCHA Enterprise إذا طُلب منك ذلك.

    3. أنشئ مفتاحًا من نوع iOS، وحدِّد معرّف حزمة تطبيقك (على سبيل المثال، com.example.my_app).

      • تأكَّد من إدخال معرِّف الحزمة نفسه الذي قدّمته عند إنشاء تطبيق Apple على Firebase في مشروع Firebase. قيمة معرّف الحزمة حسّاسة لحالة الأحرف.

      • بالنسبة إلى App Check، يمكن أن يتوافق كل معرّف حزمة مع مفتاح reCAPTCHA واحد فقط.

      للحصول على تعليمات مفصّلة، يُرجى الاطّلاع على إنشاء مفاتيح reCAPTCHA مستندة إلى النتائج.

    4. دوِّن هذا المفتاح. عليك إضافته إلى مسار التسجيل في Firebase Console.

  3. في وحدة تحكّم Firebase، انتقِل إلى الأمان > فحص التطبيقات.

  4. في علامة التبويب التطبيقات، سجِّل تطبيقاتك على منصة Apple لاستخدام App Check مع مزوّد خدمة reCAPTCHA Enterprise. عليك تقديم المفتاح الذي حصلت عليه في وحدة تحكّم Google Cloud.

  5. اختياري: اضبط مدة بقاء الرمز المميّز (TTL).

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

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

    إنّ مدة البقاء التلقائية التي تبلغ ساعة واحدة مناسبة لمعظم التطبيقات. يُرجى العِلم أنّ مكتبة App Check تعيد تحميل الرموز المميزة كل نصف مدة البقاء تقريبًا.

  6. اختياري: ضبط الإعدادات المتقدّمة

  7. انقر على حفظ.

(اختياري) ضبط الإعدادات المتقدّمة

عندما يفتح المستخدم تطبيقك، تقيِّم reCAPTCHA Enterprise مستوى خطورة تفاعل المستخدم ضمن الوضعيات الرئيسية، وتعرض نتيجة تتراوح بين 0.0 و1.0، بزيادات قدرها 0.1.

  • تشير النتيجة 0.0 إلى أنّ التفاعل ينطوي على مخاطر عالية وقد يكون احتياليًا.
  • تشير النتيجة 1.0 إلى أنّ التفاعل لا يشكّل خطرًا كبيرًا ومن المرجّح أن يكون مشروعًا.

تتيح لك App Check ضبط حدّ خطورة التطبيق لتتمكّن من تعديل درجة تحمّلك لهذه المخاطر.

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

2. إضافة حزمة تطوير البرامج (SDK) App Check إلى تطبيقك

استخدِم أداة Swift Package Manager (SPM) لتثبيت ملحقات Firebase وإدارتها. إذا كنت تستخدم Firebase حاليًا، تأكَّد من أنّ حزمة Firebase هي الإصدار 12.17.0 أو إصدار أحدث.

  1. في Xcode، افتح مشروع تطبيقك.

  2. أضِف مكتبة Firebase:

    1. انتقِل إلى ملف > إضافة حِزم.

    2. عندما يُطلب منك ذلك، أضِف مستودع حزمة تطوير البرامج (SDK) لمنصة Firebase Apple:

      https://github.com/firebase/firebase-ios-sdk
      
    3. اختَر أحدث إصدار من حزمة تطوير البرامج (الإصدار 12.17.0 أو إصدار أحدث).

    4. اختَر مكتبة FirebaseAppCheck.

    5. انقر على إضافة حزمة. سيحلّ Xcode التبعيات وينزّلها.

    6. عندما يُطلب منك ذلك، أضِف المكتبة إلى هدف تطبيقك.

  3. أضِف مكتبة reCAPTCHA Enterprise:

    1. ارجع إلى ملف > إضافة حِزم

    2. عندما يُطلب منك ذلك، أضِف مستودع reCAPTCHA Enterprise SDK:

      https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdk
      
    3. اختَر مكتبة RecaptchaEnterprise.

    4. انقر على إضافة حزمة. عندما يُطلب منك ذلك، أضِف المكتبة إلى هدف تطبيقك.

3- إعداد App Check

في تطبيقك، عليك تهيئة App Check قبل استخدام أي خدمات أخرى من Firebase.

أنشئ مثيلاً من RecaptchaProviderFactory، مع إدخال مفتاح reCAPTCHA، ثم اضبط App Check لاستخدامه:

let providerFactory = RecaptchaProviderFactory(siteKey: "SITE_KEY")
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

4. مراقبة المقاييس وتفعيل التنفيذ

بعد إعداد App Check في تطبيقك، ابدأ في توزيع الإصدار المعدَّل من التطبيق على المستخدمين.

سيبدأ تطبيق العميل المعدَّل في إرسال رموز App Check مع كل طلب يرسله إلى Firebase. ومع ذلك، لن تحظر App Check الطلبات التي تتضمّن رموزًا مميّزة غير صالحة إلى أن يتم فرض App Check.

مراقبة المقاييس

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

للمساعدة في اتّخاذ هذا القرار، يمكنك مراجعة مقاييس App Check للخدمات التي تستخدمها:

تفعيل إجراء التنفيذ App Check

بعد فهم تأثير App Check في المستخدمين والاستعداد للمتابعة، يمكنك تفعيل فرض App Check باتّباع الخطوات التالية:

استخدام App Check في بيئات تصحيح الأخطاء

تصنّف App Check بعض البيئات على أنّها غير صالحة، مثل الطلبات الواردة من محاكي / برنامج محاكاة أثناء التطوير أو من بيئة دمج مستمر (CI).

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

لمزيد من التفاصيل، يُرجى الاطّلاع على استخدام App Check مع مقدّم خدمة تصحيح الأخطاء على منصات Apple.

الأسعار

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

سيُعيد تطبيقك ضبط هذا الرمز المميّز تلقائيًا مرّتين كل ساعة واحدة. للتحكّم في عدد المرات التي يعيد فيها تطبيقك تحميل رموز App Check المميزة (وبالتالي عدد المرات التي يتم فيها إنشاء تقييمات جديدة)، يمكنك ضبط مدة البقاء (TTL) للرمز المميز.