حماية الموارد التي لا تتبع Firebase باستخدام ميزة "فحص التطبيق"

يمكنك حماية موارد تطبيقك غير المستندة إلى Firebase، مثل الخلفيات المستضافة ذاتيًا، باستخدام ميزة "فحص التطبيقات". ولإجراء ذلك، سيتعيّن عليك إجراء ما يلي:

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

قبل البدء

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

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

للتأكّد من أنّ طلباتك الخلفية تتضمّن رمزًا مميّزًا صالحًا وغير منتهي الصلاحية لفحص التطبيقات قبل كل طلب بطلب إلى AppCheck::GetAppCheckToken(). ستُعيد مكتبة App Check تحميل الرمز المميّز إذا لزم الأمر.

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

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

void CallApiExample() {
    firebase_app_check::AppCheck* app_check = firebase::app_check::AppCheck::GetInstance();
    Future<std::string> app_check_future = app_check->GetAppCheckToken(false);
    app_check_future.OnCompletion([&](const Future<std::string>& future_token) {
        if (future_token.result()) {
            // Got a valid App Check token. Include it in your own http calls.
        }
    }
}