หลังจากที่คุณลงทะเบียนแอปของคุณสำหรับ App Check แล้ว โดยปกติแอปของคุณจะไม่ทำงานในโปรแกรมจำลองหรือจากสภาพแวดล้อมการผสานรวมอย่างต่อเนื่อง (CI) เนื่องจากสภาพแวดล้อมเหล่านั้นไม่มีคุณสมบัติเป็นอุปกรณ์ที่ถูกต้อง หากคุณต้องการเรียกใช้แอปของคุณในสภาพแวดล้อมดังกล่าวในระหว่างการพัฒนาและการทดสอบ คุณสามารถสร้างบิลด์แก้ไขข้อบกพร่องของแอปที่ใช้ผู้ให้บริการตรวจแก้จุดบกพร่อง App Check แทนผู้ให้บริการรับรองจริง
แพลตฟอร์มของ Apple
หากต้องการใช้ตัวให้บริการแก้ไขจุดบกพร่องขณะเรียกใช้แอปของคุณในโปรแกรมจำลองแบบโต้ตอบ (เช่น ระหว่างการพัฒนา) ให้ทำดังต่อไปนี้:
เปิดใช้งานการตรวจสอบแอปกับผู้ให้บริการดีบั๊กทันทีหลังจากที่คุณเริ่มต้นแอป Firebase แล้ว:
import 'package:flutter/material.dart'; import 'package:firebase_core/firebase_core.dart'; // Import the firebase_app_check plugin import 'package:firebase_app_check/firebase_app_check.dart'; Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); await FirebaseAppCheck.instance.activate( // Set appleProvider to `AppleProvider.debug` appleProvider: AppleProvider.debug, ); runApp(App()); }
เปิดใช้งานการบันทึกการแก้ปัญหาในโครงการ Xcode ของคุณ (v11.0 หรือใหม่กว่า):
- เปิด Product > Scheme > แก้ไข Scheme
- เลือก เรียกใช้ จากเมนูด้านซ้าย จากนั้นเลือกแท็บ อาร์กิวเมนต์
- ในส่วน Arguments Passed on Launch ให้เพิ่ม
-FIRDebugEnabled
เปิด
ios/Runner.xcworkspace
ด้วย Xcode และเรียกใช้แอปของคุณใน Simulator แอปของคุณจะพิมพ์โทเค็นการแก้ไขข้อบกพร่องในเครื่องไปยังเอาต์พุตการแก้ไขข้อบกพร่องเมื่อ Firebase พยายามส่งคำขอไปยังแบ็กเอนด์ ตัวอย่างเช่น:Firebase App Check Debug Token: 123a4567-b89c-12d3-e456-789012345678
ในส่วน การตรวจสอบแอป ของคอนโซล Firebase ให้เลือก จัดการโทเค็นการแก้ไขจุดบกพร่อง จากเมนูรายการเพิ่มเติมของแอป จากนั้น ลงทะเบียนโทเค็นการแก้ปัญหาที่คุณเข้าสู่ระบบในขั้นตอนก่อนหน้า
หลังจากที่คุณลงทะเบียนโทเค็นแล้ว บริการแบ็กเอนด์ของ Firebase จะยอมรับว่าโทเค็นนั้นถูกต้อง
เนื่องจากโทเค็นนี้อนุญาตให้เข้าถึงทรัพยากร Firebase ของคุณโดยไม่ต้องใช้อุปกรณ์ที่ถูกต้อง คุณจึงต้องรักษาความเป็นส่วนตัวไว้ อย่าผูกมัดกับที่เก็บข้อมูลสาธารณะ และหากโทเค็นที่ลงทะเบียนเคยถูกบุกรุก ให้เพิกถอนทันทีในคอนโซล Firebase
แอนดรอยด์
หากต้องการใช้ผู้ให้บริการดีบั๊กขณะเรียกใช้แอป Flutter ในสภาพแวดล้อม Android ให้ใช้โค้ดต่อไปนี้ในแอปพลิเคชัน Flutter ของคุณ:
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
// Import the firebase_app_check plugin
import 'package:firebase_app_check/firebase_app_check.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await FirebaseAppCheck.instance.activate(
webRecaptchaSiteKey: 'recaptcha-v3-site-key',
// Set androidProvider to `AndroidProvider.debug`
androidProvider: AndroidProvider.debug,
);
runApp(App());
}
แอปของคุณจะพิมพ์โทเค็นการแก้ไขข้อบกพร่องในเครื่องไปยังเอาต์พุตการแก้ไขข้อบกพร่องเมื่อ Firebase พยายามส่งคำขอไปยังแบ็กเอนด์ ตัวอย่างเช่น:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
ในส่วน การตรวจสอบแอป ของคอนโซล Firebase ให้เลือก จัดการโทเค็นการแก้ไขจุดบกพร่อง จากเมนูรายการเพิ่มเติมของแอป จากนั้น ลงทะเบียนโทเค็นการแก้ปัญหาที่คุณเข้าสู่ระบบในขั้นตอนก่อนหน้า
หลังจากที่คุณลงทะเบียนโทเค็นแล้ว บริการแบ็กเอนด์ของ Firebase จะยอมรับว่าโทเค็นนั้นถูกต้อง
เว็บ
หากต้องการใช้ตัวให้บริการแก้ไขข้อบกพร่องขณะเรียกใช้แอปจาก localhost
(เช่น ระหว่างการพัฒนา) ให้ทำดังต่อไปนี้:
ในไฟล์
web/index.html
ให้เปิดใช้งานโหมดดีบักโดยตั้งค่าself.FIREBASE_APPCHECK_DEBUG_TOKEN
เป็นtrue
:<body> <script> self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; </script> ... </body>
เรียกใช้เว็บแอปของคุณในเครื่องและเปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของเบราว์เซอร์ ในคอนโซลการแก้ไขข้อบกพร่อง คุณจะเห็นโทเค็นการแก้ไขข้อบกพร่อง:
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will need to safelist it in the Firebase console for it to work.
โทเค็นนี้จัดเก็บไว้ในเบราว์เซอร์ของคุณและจะใช้เมื่อใดก็ตามที่คุณใช้แอปของคุณในเบราว์เซอร์เดียวกันบนเครื่องเดียวกัน หากคุณต้องการใช้โทเค็นในเบราว์เซอร์อื่นหรือบนเครื่องอื่น ให้ตั้งค่า
self.FIREBASE_APPCHECK_DEBUG_TOKEN
เป็นสตริงโทเค็นแทนtrue
ในส่วน การตรวจสอบแอป ของคอนโซล Firebase ให้เลือก จัดการโทเค็นการแก้ไขจุดบกพร่อง จากเมนูรายการเพิ่มเติมของแอป จากนั้น ลงทะเบียนโทเค็นการแก้ปัญหาที่คุณเข้าสู่ระบบในขั้นตอนก่อนหน้า
หลังจากที่คุณลงทะเบียนโทเค็นแล้ว บริการแบ็กเอนด์ของ Firebase จะยอมรับว่าโทเค็นนั้นถูกต้อง
เนื่องจากโทเค็นนี้อนุญาตให้เข้าถึงทรัพยากร Firebase ของคุณโดยไม่ต้องใช้อุปกรณ์ที่ถูกต้อง คุณจึงต้องรักษาความเป็นส่วนตัวไว้ อย่าผูกมัดกับที่เก็บข้อมูลสาธารณะ และหากโทเค็นที่ลงทะเบียนเคยถูกบุกรุก ให้เพิกถอนทันทีในคอนโซล Firebase