حماية موارد الخلفية المخصّصة باستخدام 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.
}
}
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-06-17 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-06-17 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["\u003cbr /\u003e\n\nYou can use App Check to protect non-Google custom backend resources for\nyour app, like your own self-hosted backend. To do so, you'll need to do both of\nthe following:\n\n- Modify your app client to send an App Check token along with each request to your backend, as described on this page.\n- Modify your backend to require a valid App Check token with every request, as described in [Verify App Check tokens from a custom backend](/docs/app-check/custom-resource-backend).\n\nBefore you begin\n\nAdd App Check to your app, using the [default providers](/docs/app-check/flutter/default-providers).\n\nSend App Check tokens with backend requests\n\nTo ensure your backend requests include a valid, unexpired, App Check token,\nprecede each request with a call to `getToken()`. The App Check library\nwill refresh the token if necessary.\n\nOnce you have a valid token, send it along with the request to your backend. The\nspecifics of how you accomplish this are up to you, but *don't send\nApp Check tokens as part of URLs*, including in query parameters, as this\nmakes them vulnerable to accidental leakage and interception. The recommended\napproach is to send the token in a custom HTTP header.\n\nFor example: \n\n void callApiExample() async {\n final appCheckToken = await FirebaseAppCheck.instance.getToken();\n if (appCheckToken != null) {\n final response = await http.get(\n Uri.parse(\"https://yourbackend.example.com/yourExampleEndpoint\"),\n headers: {\"X-Firebase-AppCheck\": appCheckToken},\n );\n } else {\n // Error: couldn't get an App Check token.\n }\n }"]]