שימוש בבדיקת אפליקציה עם ספק ניפוי הבאגים

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

שימוש בספק ניפוי הבאגים בסימולטור

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

  1. יש לחפש את מפתח ה-API של iOS לפרויקט שלך בדף פרטי כניסה בקטע ממשקי API ושירותים במסוף Google Cloud.

  2. ב-build לניפוי באגים, צריך להגדיר את App Check כדי להשתמש בספק ניפוי הבאגים. תצטרכו לציין את מפתח ה-API שקיבלתם בשלב הקודם.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    
  3. מפעילים את האפליקציה. במסוף Xcode, יירשם אסימון מקומי לניפוי באגים כשה-SDK ינסה לשלוח בקשה לקצה העורפי. לדוגמה:

    <Warning> [AppCheckCore][I-GAC004001] App Check debug token:
    '123a4567-b89c-12d3-e456-789012345678'.
    
  4. בקטע App Check (בדיקת אפליקציה) במסוף Firebase, בוחרים באפשרות Manage debugts (ניהול אסימונים של ניפוי באגים) מתפריט האפשרויות הנוספות של האפליקציה. לאחר מכן רושמים את אסימון ניפוי הבאגים שרשמתם בשלב הקודם.

    צילום מסך של פריט התפריט &#39;ניהול אסימוני ניפוי באגים&#39;

אחרי רישום האסימון, נקודות הקצה של OAuth 2.0 של Google יאשרו אותו כחוקי לפרויקט שלכם.

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

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

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

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

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

    צילום מסך של פריט התפריט &#39;ניהול אסימוני ניפוי באגים&#39;

  2. מוסיפים את אסימון ניפוי הבאגים שיצרתם כרגע אל מאגר המפתחות המאובטחים של מערכת ה-CI (לדוגמה, הסודות המוצפנים של פעולות GitHub או המשתנים המוצפנים של 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. יש לחפש את מפתח ה-API של iOS לפרויקט שלך בדף פרטי כניסה בקטע ממשקי API ושירותים במסוף Google Cloud.

  7. ב-build לניפוי באגים, צריך להגדיר את App Check כדי להשתמש בספק ניפוי הבאגים. תצטרכו לציין את מפתח ה-API שקיבלתם בשלב הקודם.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    

כשהאפליקציה פועלת בסביבת CI, נקודות הקצה של OAuth 2.0 של Google יאשרו את האסימון שיישלח כתקף לפרויקט.