حماية موارد الخلفية المخصّصة باستخدام App Check في مشاريع Flutter

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

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

قبل البدء

أضِف أداة "فحص التطبيقات" إلى تطبيقك باستخدام موفّري الخدمات التلقائيين.

إرسال الرموز المميّزة لفحص التطبيق مع طلبات الخلفية

لضمان أن تتضمّن طلبات الخلفية رمز أمان صالحًا لم ينتهِ صلاحيته من App Check، يجب تقديم طلب إلى getToken() قبل كل طلب. ستؤدي مكتبة App Check إلى إعادة تحميل الرمز المميّز إذا لزم الأمر.

بعد الحصول على رمز مميّز صالح، أرسِله مع الطلب إلى الخلفية. إنّ تحديد كيفية إجراء ذلك متروك لك، ولكن لا ترسِل رموزها المميّزة لفحص التطبيق كجزء من عناوين URL، بما في ذلك في مَعلمات طلب البحث، لأنّ ذلك يعرضها للاختراق والتسرُّب غير المقصودَين. إنّ المقاربة المُقترَحة هي إرسال الرمز المميّز في عنوان HTTP مخصّص.

على سبيل المثال:

void callApiExample() async {
    final appCheckToken = await FirebaseAppCheck.instance.getToken();
    if (appCheckToken != null) {
        final response = await http.get(
            Uri.parse("https://yourbackend.example.com/yourExampleEndpoint"),
            headers: {"X-Firebase-AppCheck": appCheckToken},
        );
    } else {
        // Error: couldn't get an App Check token.
    }
}