ใช้ App Check กับผู้ให้บริการแก้ไขข้อบกพร่องในเว็บแอป

หากหลังจากลงทะเบียนแอปสำหรับ App Check แล้ว คุณต้องการเรียกใช้แอปในสภาพแวดล้อมที่ App Check ปกติจะไม่จัดประเภทว่าถูกต้อง เช่น ในเครื่องระหว่างการพัฒนาซอฟต์แวร์ หรือจากสภาพแวดล้อมการรวมอย่างต่อเนื่อง (CI) คุณสามารถสร้างบิลด์การแก้ไขข้อบกพร่องของแอปที่ใช้ผู้ให้บริการการแก้ไขข้อบกพร่องของ App Check แทนผู้ให้บริการการรับรองความถูกต้องจริง

ใช้ผู้ให้บริการการแก้ไขข้อบกพร่องใน localhost

หากต้องการใช้ผู้ให้บริการการแก้ไขข้อบกพร่องขณะเรียกใช้แอปจาก localhost (เช่น ระหว่างการพัฒนา) ให้ทำดังนี้

  1. ในบิลด์การแก้ไขข้อบกพร่อง ให้เปิดใช้โหมดแก้ไขข้อบกพร่องโดยตั้งค่า 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ให้เลือกจัดการโทเค็นการแก้ไขข้อบกพร่องจากเมนูรายการเพิ่มเติมของแอป จากนั้นลงทะเบียนโทเค็นการแก้ไขข้อบกพร่องที่คุณเข้าสู่ระบบในขั้นตอนก่อนหน้า

    ภาพหน้าจอของรายการเมนู "จัดการโทเค็นการแก้ไขข้อบกพร่อง"

หลังจากลงทะเบียนโทเค็นแล้ว บริการแบ็กเอนด์ของ Firebase จะยอมรับโทเค็นดังกล่าวว่าถูกต้อง

เนื่องจากโทเค็นนี้อนุญาตให้เข้าถึงทรัพยากร Firebase ได้โดยไม่ต้องใช้อุปกรณ์ที่ถูกต้อง คุณจึงต้องเก็บโทเค็นนี้ไว้เป็นส่วนตัว อย่าคอมมิตโทเค็นลงในที่เก็บสาธารณะ และหากโทเค็นที่ลงทะเบียนถูกบุกรุก ให้เพิกถอนโทเค็น ทันทีในคอนโซล Firebase

ระบบจะจัดเก็บโทเค็นนี้ไว้ในเครื่องในเบราว์เซอร์และจะใช้ทุกครั้งที่คุณใช้แอปในเบราว์เซอร์เดียวกันบนเครื่องเดียวกัน หากต้องการใช้โทเค็นในเบราว์เซอร์อื่นหรือบนเครื่องอื่น ให้ตั้งค่า self.FIREBASE_APPCHECK_DEBUG_TOKEN เป็นสตริงโทเค็นแทน true

ใช้ผู้ให้บริการการแก้ไขข้อบกพร่องในสภาพแวดล้อม CI

หากต้องการใช้ผู้ให้บริการการแก้ไขข้อบกพร่องในสภาพแวดล้อมการรวมอย่างต่อเนื่อง (CI) ให้ทำดังนี้

  1. ในส่วนApp Checkของคอนโซล Firebaseให้เลือกจัดการโทเค็นการแก้ไขข้อบกพร่องจากเมนูรายการเพิ่มเติมของแอป จากนั้นสร้างโทเค็นการแก้ไขข้อบกพร่องใหม่ คุณจะต้องใช้โทเค็นในขั้นตอนถัดไป

    เนื่องจากโทเค็นนี้อนุญาตให้เข้าถึงทรัพยากร Firebase ได้โดยไม่ต้องใช้อุปกรณ์ที่ถูกต้อง คุณจึงต้องเก็บโทเค็นนี้ไว้เป็นส่วนตัว อย่าคอมมิตโทเค็นลงในที่เก็บสาธารณะ และหากโทเค็นที่ลงทะเบียนถูกบุกรุก ให้เพิกถอนโทเค็น ทันทีในคอนโซล Firebase

    ภาพหน้าจอของรายการเมนู "จัดการโทเค็นการแก้ไขข้อบกพร่อง"

  2. เพิ่มโทเค็นการแก้ไขข้อบกพร่องที่สร้างขึ้นลงในที่เก็บคีย์ที่ปลอดภัยของระบบ CI (เช่น ความลับที่เข้ารหัสของ GitHub Actions หรือตัวแปรที่เข้ารหัสของ Travis CI )

  3. หากจำเป็น ให้กำหนดค่าระบบ CI เพื่อให้โทเค็นการแก้ไขข้อบกพร่องพร้อมใช้งานภายในสภาพแวดล้อม CI เป็นตัวแปรสภาพแวดล้อม ตั้งชื่อตัวแปร เช่น APP_CHECK_DEBUG_TOKEN_FROM_CI

  4. ในบิลด์การแก้ไขข้อบกพร่อง ให้เปิดใช้โหมดแก้ไขข้อบกพร่องโดยตั้งค่า 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 จะยอมรับโทเค็นที่แอปส่งมาว่าถูกต้อง