שימוש ב-App Check עם ספק ניפוי הבאגים ב-Flutter

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

פלטפורמות של אפל

כדי להשתמש בספק של ניפוי באגים בזמן הפעלת האפליקציה בסימולטור באופן אינטראקטיבי (במהלך הפיתוח, למשל), צריך לבצע את הפעולות הבאות:

  1. מפעילים את App Check עם ספק הניפוי באגים מיד אחרי שמאתחלים את אפליקציית Firebase:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set appleProvider to `AppleProvider.debug`
        appleProvider: AppleProvider.debug,
      );
      runApp(App());
    }
    
  2. מפעילים רישום ביומן לניפוי באגים בפרויקט Xcode (גרסה 11.0 ואילך):

    1. פותחים את Product (מוצר) > Scheme (סכימה) > Edit scheme (עריכת הסכימה).
    2. בתפריט הימני, לוחצים על Run (הפעלה) ואז על הכרטיסייה Arguments (ארגומנטים).
    3. בקטע Arguments Passed on Launch (ארגומנטים שהערך שלהם נקבע בהפעלה), מוסיפים את הערך -FIRDebugEnabled.
  3. פותחים את ios/Runner.xcworkspace באמצעות Xcode ומריצים את האפליקציה בסימולטור. האפליקציה תדפיס טוקן מקומי לניפוי באגים לפלט ניפוי הבאגים כש-Firebase ינסה לשלוח בקשה לשרת העורפי. לדוגמה:

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. במסוף Firebase, עוברים אל Security (אבטחה) > App Check (בדיקת אפליקציות) > Apps (אפליקציות).

  5. רושמים את טוקן הניפוי באגים שזה עתה נרשם ביומן.

    1. בתפריט האפשרויות הנוספות של האפליקציה, בוחרים באפשרות ניהול אסימוני ניפוי באגים.
    2. פועלים לפי ההוראות במסך כדי לרשום את אסימון הניפוי באגים.

    צילום מסך של הפריט Manage Debug Tokens (ניהול אסימוני ניפוי באגים) בתפריט

אחרי שרושמים את האסימון, שירותי הקצה העורפי של Firebase יקבלו אותו כאסימון תקף.

הטוקן הזה מאפשר גישה למשאבי Firebase שלכם ללא מכשיר תקין, ולכן חשוב לשמור אותו פרטי. אל תעבירו אותו למאגר ציבורי, ואם טוקן רשום ייפרץ, בטלו אותו מיד במסוף Firebase.

Android

כדי להשתמש בספק לניפוי באגים בזמן הפעלת אפליקציית Flutter בסביבת Android, מטמיעים את הקוד הבא באפליקציית Flutter:

import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';

// Import the firebase_app_check plugin
import 'package:firebase_app_check/firebase_app_check.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  await FirebaseAppCheck.instance.activate(
    webRecaptchaSiteKey: 'recaptcha-v3-site-key',
    // Set androidProvider to `AndroidProvider.debug`
    androidProvider: AndroidProvider.debug,
  );
  runApp(App());
}

האפליקציה תדפיס אסימון מקומי לניפוי באגים בפלט של ניפוי הבאגים כש-Firebase ינסה לשלוח בקשה לשרת העורפי. לדוגמה:

D DebugAppCheckProvider: Enter this debug secret into the allow list in
the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
  1. במסוף Firebase, עוברים אל Security (אבטחה) > App Check (בדיקת אפליקציות) > Apps (אפליקציות).

  2. רושמים את טוקן הניפוי באגים שזה עתה נרשם ביומן.

    1. בתפריט האפשרויות הנוספות של האפליקציה, בוחרים באפשרות ניהול אסימוני ניפוי באגים.
    2. פועלים לפי ההוראות במסך כדי לרשום את אסימון הניפוי באגים.

    צילום מסך של הפריט Manage Debug Tokens (ניהול אסימוני ניפוי באגים) בתפריט

אחרי שרושמים את האסימון, שירותי הקצה העורפי של Firebase יקבלו אותו כאסימון תקף.

אינטרנט

כדי להשתמש בספק לניפוי באגים בזמן הפעלת האפליקציה מ-localhost (במהלך הפיתוח, למשל), צריך לפעול באופן הבא:

  1. בקובץ web/index.html, מפעילים את מצב ניפוי הבאגים על ידי הגדרת self.FIREBASE_APPCHECK_DEBUG_TOKEN ל-true:

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. מריצים את אפליקציית האינטרנט באופן מקומי ופותחים את כלי הפיתוח של הדפדפן. במסוף הניפוי באגים, יופיע אסימון ניפוי באגים:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will
    need to safelist it in the Firebase console for it to work.

    הטוקן מאוחסן באופן מקומי בדפדפן וישמש אתכם בכל פעם שתשתמשו באפליקציה באותו דפדפן ובאותה מכונה. אם אתם רוצים להשתמש בטוקן בדפדפן אחר או במכונה אחרת, צריך להגדיר את self.FIREBASE_APPCHECK_DEBUG_TOKEN למחרוזת הטוקן במקום true.

  3. במסוף Firebase, עוברים אל Security (אבטחה) > App Check (בדיקת אפליקציות) > Apps (אפליקציות).

  4. רושמים את טוקן הניפוי באגים שזה עתה נרשם ביומן.

    1. בתפריט האפשרויות הנוספות של האפליקציה, בוחרים באפשרות ניהול אסימוני ניפוי באגים.
    2. פועלים לפי ההוראות במסך כדי לרשום את אסימון הניפוי באגים.

    צילום מסך של הפריט Manage Debug Tokens (ניהול אסימוני ניפוי באגים) בתפריט

אחרי שרושמים את האסימון, שירותי הקצה העורפי של Firebase יקבלו אותו כאסימון תקף.

הטוקן הזה מאפשר גישה למשאבי Firebase שלכם ללא מכשיר תקין, ולכן חשוב לשמור אותו פרטי. אל תעבירו אותו למאגר ציבורי, ואם טוקן רשום ייפרץ, בטלו אותו מיד במסוף Firebase.