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

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

שימוש בספק ניפוי הבאגים ב-localhost

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

  1. ב-build של ניפוי הבאגים, מפעילים את מצב ניפוי הבאגים באמצעות הגדרה self.FIREBASE_APPCHECK_DEBUG_TOKEN עד true לפני האתחול App Check. לדוגמה:

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    firebase.appCheck().activate(/* site key or provider */);
    
  2. נכנסים לאפליקציית האינטרנט באופן מקומי ופותחים את הכלי למפתחים בדפדפן. במסוף ניפוי הבאגים יופיע אסימון ניפוי באגים:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will
    need to safelist it in the Firebase console for it to work.
  3. בקטע App Check במסוף Firebase, בחר באפשרות ניהול אסימוני ניפוי באגים מתוך האפליקציה אפשרויות נוספות. לאחר מכן, רושמים את האסימון לניפוי באגים שיצרתם באפליקציה הקודמת בכל פעימה.

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

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

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

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

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

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

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

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

    צילום מסך של האפשרות 'ניהול אסימוני ניפוי באגים' בתפריט

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

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

  4. בגרסת build לניפוי באגים, מפעילים את מצב ניפוי הבאגים על ידי הגדרת self.FIREBASE_APPCHECK_DEBUG_TOKEN לערך של משתנה הסביבה של אסימון ניפוי הבאגים לפני שמייבאים את App Check. לדוגמה:

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    firebase.appCheck().activate(/* site key or provider */);
    

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