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

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

ใช้ผู้ให้บริการดีบักในโปรแกรมจำลอง

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

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

    Swift

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

    สกรีนช็อตของรายการเมนูจัดการโทเค็นดีบัก

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

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

ใช้ผู้ให้บริการดีบักในสภาพแวดล้อม CI

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

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

    Swift

    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 จะยอมรับโทเค็นที่ส่งไปว่าถูกต้อง