ใช้ 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. เปิดแอป ระบบจะบันทึกโทเค็นการแก้ไขข้อบกพร่องในเครื่องเมื่อ SDK พยายามส่งคำขอไปยังแบ็กเอนด์ เช่น

    <Warning> [AppCheckCore][I-GAC004001] App Check debug token:
    '123a4567-b89c-12d3-e456-789012345678'.
  3. ในคอนโซล Firebase ให้ไปที่ความปลอดภัย > App Check

  4. ลงทะเบียนโทเค็นการแก้ไขข้อบกพร่องที่คุณเพิ่งบันทึก

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

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

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

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

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

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

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

  2. สร้างโทเค็นการแก้ไขข้อบกพร่อง คุณจะต้องใช้โทเค็นนี้ในขั้นตอนถัดไป

    1. จากเมนูรายการเพิ่มเติมของแอป ให้เลือกจัดการโทเค็นการแก้ไขข้อบกพร่อง
    2. ทำตามวิธีการบนหน้าจอเพื่อสร้างโทเค็นการแก้ไขข้อบกพร่องใหม่

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

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

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

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

  5. ใน Xcode ให้เพิ่มตัวแปรสภาพแวดล้อมลงในสคีมาการทดสอบโดยใช้ชื่อ AppCheckDebugToken และค่า เช่น $(APP_CHECK_DEBUG_TOKEN)

  6. กำหนดค่าสคริปต์การทดสอบ CI เพื่อส่งโทเค็นการแก้ไขข้อบกพร่องเป็นตัวแปรสภาพแวดล้อม เช่น

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  7. ในบิลด์การแก้ไขข้อบกพร่อง ให้สร้างและ ตั้งค่าโรงงานผู้ให้บริการการแก้ไขข้อบกพร่อง 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 จะยอมรับโทเค็นที่แอปส่งมาว่าถูกต้อง