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

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

ใช้ตัวให้บริการตรวจแก้จุดบกพร่องในโปรแกรมจำลอง

หากต้องการใช้ตัวให้บริการแก้ไขจุดบกพร่องขณะเรียกใช้แอปของคุณในโปรแกรมจำลองแบบโต้ตอบ (เช่น ระหว่างการพัฒนา) ให้ทำดังต่อไปนี้:

  1. ในการสร้างการแก้ไขข้อบกพร่อง ก่อนใช้บริการแบ็กเอนด์ของ Firebase ให้สร้างและตั้งค่าโรงงานผู้ให้บริการตรวจแก้ข้อบกพร่องของแอป:

    สวิฟต์

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    วัตถุประสงค์-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. เปิดใช้งานการบันทึกการแก้ปัญหาในโครงการ Xcode ของคุณ (v11.0 หรือใหม่กว่า):

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

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

    ภาพหน้าจอของรายการเมนู Manage Debug Tokens

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

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

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

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

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

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

    ภาพหน้าจอของรายการเมนู Manage Debug Tokens

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

    สวิฟต์

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    วัตถุประสงค์-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

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