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

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

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

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

  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. פותחים את מוצר > סכימה > עריכת הסכמה.
    2. בתפריט הימני, בוחרים באפשרות הפעלה ולאחר מכן בוחרים בכרטיסייה ארגומנטים.
    3. בקטע Arguments Passed on Launch, מוסיפים את הערך -FIRDebugEnabled.
  3. פותחים את ios/Runner.xcworkspace באמצעות Xcode ומריצים את האפליקציה בסימולטור. האפליקציה תדפיס אסימון ניפוי באגים מקומי לפלט ניפוי הבאגים כש-Firebase ינסה לשלוח בקשה לקצה העורפי. לדוגמה:

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. בקטע App Check במסוף Firebase, בחר באפשרות ניהול אסימוני ניפוי באגים מתוך האפליקציה אפשרויות נוספות. לאחר מכן, רושמים את האסימון לניפוי באגים שיצרתם באפליקציה הקודמת בכל פעימה.

    צילום מסך של האפשרות 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. בקטע App Check במסוף Firebase, בוחרים באפשרות Manage debug tokens בתפריט ההזזה למעלה של האפליקציה. לאחר מכן, רושמים את אסימון ניפוי הבאגים שתועד בשלב הקודם.

    צילום מסך של האפשרות 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. בקטע App Check במסוף Firebase, בחר באפשרות ניהול אסימוני ניפוי באגים מתוך האפליקציה אפשרויות נוספות. לאחר מכן, רושמים את אסימון ניפוי הבאגים שתועד בשלב הקודם.

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

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

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