ใช้ App Check กับผู้ให้บริการแก้ไขข้อบกพร่องในแพลตฟอร์มของ Apple

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

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

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

  1. ในบิลด์การแก้ไขข้อบกพร่อง ให้สร้างและ ตั้งค่า 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 (v11.0 หรือใหม่กว่า):

    1. เปิดผลิตภัณฑ์ > รูปแบบ > แก้ไขรูปแบบ
    2. เลือกเรียกใช้จากเมนูด้านซ้าย แล้วเลือกแท็บอาร์กิวเมนต์
    3. ในส่วนอาร์กิวเมนต์ที่ผ่านเมื่อเปิดตัว ให้เพิ่ม -FIRDebugEnabled
  3. เปิดแอป ระบบจะบันทึกโทเค็นการแก้ไขข้อบกพร่องในเครื่องเมื่อ SDK พยายาม ส่งคำขอไปยังแบ็กเอนด์ เช่น

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. ในส่วน App Check ของคอนโซล Firebase ให้เลือกจัดการโทเค็นการแก้ไขข้อบกพร่องจากส่วนของแอป เมนูรายการเพิ่มเติม จากนั้นลงทะเบียนโทเค็นการแก้ไขข้อบกพร่องที่คุณบันทึกไว้ก่อนหน้านี้ ครั้งแรก

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

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

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

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

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

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

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

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

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