หากหลังจากลงทะเบียนแอปสำหรับ App Check แล้ว คุณต้องการเรียกใช้แอปในสภาพแวดล้อมที่โดยปกติแล้ว App Check จะไม่จัดประเภทว่าถูกต้อง เช่น เครื่องมือจำลองหรืออุปกรณ์ระหว่างการพัฒนา หรือจากสภาพแวดล้อมการผสานรวมอย่างต่อเนื่อง (CI) คุณสามารถสร้างบิลด์การแก้ไขข้อบกพร่องของแอปที่ใช้ผู้ให้บริการแก้ไขข้อบกพร่องของ App Check แทนผู้ให้บริการการรับรองจริงได้
ใช้ผู้ให้บริการแก้ไขข้อบกพร่องในการพัฒนา
หากต้องการใช้ผู้ให้บริการแก้ไขข้อบกพร่องขณะเรียกใช้แอปแบบอินเทอร์แอกทีฟ (เช่น ระหว่างการพัฒนา) ให้ทำดังนี้
ในบิลด์การแก้ไขข้อบกพร่อง ให้สร้างและตั้งค่าApp Checkโรงงานผู้ให้บริการการแก้ไขข้อบกพร่องก่อนใช้บริการแบ็กเอนด์ของ Firebase
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];
เปิดใช้การบันทึกการแก้ไขข้อบกพร่องในโปรเจ็กต์ Xcode (v11.0 ขึ้นไป) โดยทำดังนี้
- เปิดผลิตภัณฑ์ > รูปแบบ > แก้ไขรูปแบบ
- เลือกเรียกใช้จากเมนูด้านซ้าย แล้วเลือกแท็บอาร์กิวเมนต์
- ในส่วนอาร์กิวเมนต์ที่ส่งเมื่อตอนเริ่ม ให้เพิ่ม
-FIRDebugEnabled
เปิดแอป ระบบจะบันทึกโทเค็นการแก้ไขข้อบกพร่องในเครื่องเมื่อ SDK พยายาม ส่งคำขอไปยังแบ็กเอนด์ เช่น
[Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token: 123a4567-b89c-12d3-e456-789012345678
ในส่วน App Check ของคอนโซล Firebase ให้เลือกจัดการโทเค็นการแก้ไขข้อบกพร่องจากเมนู ล้นของแอป จากนั้นลงทะเบียนโทเค็นการแก้ไขข้อบกพร่องที่คุณบันทึกไว้ในขั้นตอนก่อนหน้า
หลังจากลงทะเบียนโทเค็นแล้ว บริการแบ็กเอนด์ของ Firebase จะยอมรับโทเค็นดังกล่าวว่าถูกต้อง
เนื่องจากโทเค็นนี้อนุญาตให้เข้าถึงทรัพยากร Firebase ได้โดยไม่ต้องมี อุปกรณ์ที่ถูกต้อง คุณจึงต้องเก็บโทเค็นนี้ไว้เป็นส่วนตัว อย่านำไปเก็บไว้ใน ที่เก็บข้อมูลสาธารณะ และหากโทเค็นที่ลงทะเบียนถูกบุกรุก ให้เพิกถอนโทเค็นนั้น ทันทีในFirebaseคอนโซล
ใช้ผู้ให้บริการแก้ไขข้อบกพร่องในสภาพแวดล้อม CI
หากต้องการใช้ผู้ให้บริการแก้ไขข้อบกพร่องในสภาพแวดล้อมการรวมอย่างต่อเนื่อง (CI) ให้ทำดังนี้
ในส่วน App Check ของคอนโซล Firebase ให้เลือกจัดการโทเค็นการแก้ไขข้อบกพร่องจากเมนู ล้นของแอป จากนั้นสร้างโทเค็นการแก้ไขข้อบกพร่องใหม่ คุณจะต้องใช้โทเค็นใน ขั้นตอนถัดไป
เนื่องจากโทเค็นนี้อนุญาตให้เข้าถึงทรัพยากร Firebase ได้โดยไม่ต้องมี อุปกรณ์ที่ถูกต้อง คุณจึงควรเก็บโทเค็นนี้ไว้เป็นส่วนตัว อย่านำไปเก็บไว้ใน ที่เก็บข้อมูลสาธารณะ และหากโทเค็นที่ลงทะเบียนถูกบุกรุก ให้เพิกถอนโทเค็นนั้น ทันทีในFirebaseคอนโซล
เพิ่มโทเค็นการแก้ไขข้อบกพร่องที่คุณเพิ่งสร้างลงในที่เก็บคีย์ที่ปลอดภัยของระบบ CI (เช่น Secret ที่เข้ารหัสของ GitHub Actions หรือตัวแปรที่เข้ารหัสของ Travis CI)
หากจำเป็น ให้กำหนดค่าระบบ CI เพื่อให้โทเค็นการแก้ไขข้อบกพร่องพร้อมใช้งาน ภายในสภาพแวดล้อม CI เป็นตัวแปรสภาพแวดล้อม ตั้งชื่อตัวแปร เช่น
APP_CHECK_DEBUG_TOKEN_FROM_CI
ใน Xcode ให้เพิ่มตัวแปรสภาพแวดล้อมลงในสคีมาการทดสอบโดยใช้ชื่อ
FIRAAppCheckDebugToken
และค่าที่คล้ายกับ$(APP_CHECK_DEBUG_TOKEN)
กำหนดค่าสคริปต์ทดสอบ CI เพื่อส่งโทเค็นการแก้ไขข้อบกพร่องเป็นตัวแปรสภาพแวดล้อม เช่น
xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \ APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
ในบิลด์การแก้ไขข้อบกพร่อง ให้สร้างและตั้งค่าApp Checkโรงงานผู้ให้บริการการแก้ไขข้อบกพร่องก่อนใช้บริการแบ็กเอนด์ของ Firebase
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 จะยอมรับโทเค็นที่ส่งมาว่าถูกต้อง