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

หลังจากบังคับใช้ App Check กับบริการแบ็กเอนด์แล้ว ฟีเจอร์ของแอปที่ขึ้นอยู่กับบริการแบ็กเอนด์ดังกล่าวจะไม่ทำงานจาก localhost หรือจากสภาพแวดล้อมการรวมอย่างต่อเนื่อง (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 โดยทำดังนี้

    1. ในคอนโซล Firebase ให้ไปที่แท็บความปลอดภัย > App Check > แอป

    2. ค้นหาแอป คลิกเมนูรายการเพิ่มเติม 3 จุด () แล้วเลือก จัดการโทเค็นการแก้ไขข้อบกพร่อง

    3. ทำตามวิธีการบนหน้าจอเพื่อลงทะเบียนโทเค็นการแก้ไขข้อบกพร่อง

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

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

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

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

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

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

  1. สร้างโทเค็นการแก้ไขข้อบกพร่องในคอนโซล Firebase โดยทำดังนี้

    1. ในคอนโซล Firebase ให้ไปที่แท็บความปลอดภัย > App Check > แอป

    2. ค้นหาแอป คลิกเมนูรายการเพิ่มเติม 3 จุด () แล้วเลือก จัดการโทเค็นการแก้ไขข้อบกพร่อง

    3. ทำตามวิธีการบนหน้าจอเพื่อสร้างโทเค็นการแก้ไขข้อบกพร่องใหม่

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