שימוש ב-App Check עם ספק ניפוי הבאגים בפלטפורמות של Apple

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

שימוש בספק ניפוי הבאגים בפיתוח

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

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

    Swift

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. מפעילים את הרישום ביומן לניפוי באגים בפרויקט Xcode (גרסה 11.0 ואילך):

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

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. בקטע App Check במסוף Firebase, בוחרים באפשרות Manage debug tokens בתפריט ההזזה למעלה של האפליקציה. לאחר מכן, רושמים את אסימון ניפוי הבאגים שתועד בשלב הקודם.

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

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

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

שימוש בספק ניפוי הבאגים בסביבת CI

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

  1. בקטע App Check במסוף Firebase, בוחרים באפשרות Manage debug tokens בתפריט ההזזה למעלה של האפליקציה. לאחר מכן, יוצרים טוקן ניפוי באגים חדש. תצטרכו את הטוקן בשלב הבא.

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

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

  2. מוסיפים את אסימון ניפוי הבאגים שיצרתם למאגר המפתחות המאובטח של מערכת ה-CI (לדוגמה, סודות מוצפנים של GitHub Actions או משתנים מוצפנים של Travis CI).

  3. אם צריך, מגדירים את מערכת ה-CI כך שאסימון ניפוי הבאגים יהיה זמין בסביבת ה-CI כמשתנה סביבה. נותנים למשתנה שם כמו APP_CHECK_DEBUG_TOKEN_FROM_CI.

  4. ב-Xcode, מוסיפים משתנה סביבה לתוכנית הבדיקה עם השם FIRAAppCheckDebugToken וערך כמו $(APP_CHECK_DEBUG_TOKEN).

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

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. בגרסה לניפוי באגים, לפני שמשתמשים בשירותי הקצה העורפי של Firebase, יוצרים ומגדירים את המפעל של ספק ניפוי הבאגים App Check:

    Swift

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

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