הגנה על משאבי קצה עורפי בהתאמה אישית באמצעות App Check בפרויקטים של Flutter

אתם יכולים להשתמש ב-App Check כדי להגן על משאבי קצה עורפי בהתאמה אישית שאינם של Google באפליקציה שלכם, כמו קצה עורפי שמתארח באופן עצמאי. כדי לעשות זאת, תצטרכו לבצע את שתי הפעולות הבאות:

  • משנים את לקוח האפליקציה כך שישלח טוקן App Check עם כל בקשה לשרת העורפי, כמו שמתואר בדף הזה.
  • משנים את ה-Backend כך שיידרש אסימון App Check תקף בכל בקשה, כמו שמתואר במאמר אימות אסימוני App Check מ-Backend בהתאמה אישית.

לפני שמתחילים

מוסיפים את App Check לאפליקציה באמצעות ספקי ברירת המחדל.

שליחת טוקנים של App Check עם בקשות קצה עורפי

כדי לוודא שהבקשות של ה-Backend כוללות אסימון App Check תקין שלא פג תוקפו, צריך להוסיף לפני כל בקשה קריאה ל-getToken(). ספריית App Check תרענן את האסימון אם יהיה צורך בכך.

אחרי שיהיה לכם אסימון תקין, תצטרכו לשלוח אותו עם הבקשה לשרת העורפי. הפרטים הספציפיים של האופן שבו מבצעים את זה תלויים בכם, אבל אל תשלחו אסימוני 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.
    }
}