Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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