ใช้ App Check กับผู้ให้บริการแก้ไขข้อบกพร่องที่มี Flutter

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

แพลตฟอร์มของ Apple

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

  1. เปิดใช้งาน App Check กับผู้ให้บริการการแก้ไขข้อบกพร่องทันทีหลังจาก เริ่มต้นแอป 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());
    }
    
  2. เปิดใช้การบันทึกการแก้ไขข้อบกพร่องในโปรเจ็กต์ Xcode (v11.0 ขึ้นไป) โดยทำดังนี้

    1. เปิดผลิตภัณฑ์ > รูปแบบ > แก้ไขรูปแบบ
    2. เลือกเรียกใช้ จากเมนูด้านซ้าย แล้วเลือกแท็บอาร์กิวเมนต์
    3. ในส่วนอาร์กิวเมนต์ที่ส่งเมื่อตอนเริ่ม ให้เพิ่ม -FIRDebugEnabled
  3. รับโทเค็นการแก้ไขข้อบกพร่องโดยทำดังนี้

    1. เปิด ios/Runner.xcworkspace ด้วย Xcode แล้วเรียกใช้แอปในโปรแกรมจำลองหรือในอุปกรณ์ทดสอบ

    2. เปิดคอนโซล Xcode แล้วมองหาโทเค็นการแก้ไขข้อบกพร่อง App Check เช่น

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. คัดลอกโทเค็น (เช่น 123a4567-b89c-12d3-e456-789012345678)

  4. ลงทะเบียนโทเค็นการแก้ไขข้อบกพร่องกับ App Check โดยทำดังนี้

    1. ในคอนโซล Firebase ให้ไปที่ความปลอดภัย > App Check > แท็บแอป

    2. ค้นหาแอป คลิกเมนูรายการเพิ่มเติม 3 จุด () แล้วเลือก จัดการโทเค็นการแก้ไขข้อบกพร่อง

    3. ทำตามวิธีการบนหน้าจอเพื่อลงทะเบียนโทเค็นการแก้ไขข้อบกพร่อง

    ภาพหน้าจอของรายการเมนู &quot;จัดการโทเค็นการแก้ไขข้อบกพร่อง&quot; ในคอนโซล Firebase

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

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

Android

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

  1. เปิดใช้งาน App Check กับผู้ให้บริการการแก้ไขข้อบกพร่องทันทีหลังจาก เริ่มต้นแอป 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 androidProvider to `AndroidProvider.debug`
        androidProvider: AndroidProvider.debug,
      );
      runApp(App());
    }
    
    
  2. รับโทเค็นการแก้ไขข้อบกพร่องโดยทำดังนี้

    1. เรียกใช้แอปในโปรแกรมจำลองหรือในอุปกรณ์ทดสอบ

    2. มองหาโทเค็นการแก้ไขข้อบกพร่องของ App Check ในบันทึก เช่น

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. คัดลอกโทเค็น (เช่น 123a4567-b89c-12d3-e456-789012345678)

  3. ลงทะเบียนโทเค็นการแก้ไขข้อบกพร่องกับ App Check โดยทำดังนี้

    1. ในคอนโซล Firebase ให้ไปที่ความปลอดภัย > App Check > แท็บแอป

    2. ค้นหาแอป คลิกเมนูรายการเพิ่มเติม 3 จุด () แล้วเลือก จัดการโทเค็นการแก้ไขข้อบกพร่อง

    3. ทำตามวิธีการบนหน้าจอเพื่อลงทะเบียนโทเค็นการแก้ไขข้อบกพร่อง

    ภาพหน้าจอของรายการเมนู &quot;จัดการโทเค็นการแก้ไขข้อบกพร่อง&quot; ในคอนโซล Firebase

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

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

เว็บ

วิธีใช้ผู้ให้บริการการแก้ไขข้อบกพร่องขณะเรียกใช้แอปจาก localhost (เช่น ระหว่างการพัฒนาในเครื่อง)

  1. ในไฟล์ web/index.html ให้เปิดใช้โหมดแก้ไขข้อบกพร่องโดยตั้งค่า self.FIREBASE_APPCHECK_DEBUG_TOKEN เป็น true

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. เรียกใช้เว็บแอปในเครื่องแล้วเปิดเครื่องมือสำหรับนักพัฒนาแอปของเบราว์เซอร์ คุณจะเห็นโทเค็นการแก้ไขข้อบกพร่องในคอนโซลดีบัก เช่น

    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

  3. ลงทะเบียนโทเค็นการแก้ไขข้อบกพร่องกับ App Check โดยทำดังนี้

    1. ในคอนโซล Firebase ให้ไปที่ความปลอดภัย > App Check > แท็บแอป

    2. ค้นหาแอป คลิกเมนูรายการเพิ่มเติม 3 จุด () แล้วเลือก จัดการโทเค็นการแก้ไขข้อบกพร่อง

    3. ทำตามวิธีการบนหน้าจอเพื่อลงทะเบียนโทเค็นการแก้ไขข้อบกพร่อง

    ภาพหน้าจอของรายการเมนู &quot;จัดการโทเค็นการแก้ไขข้อบกพร่อง&quot; ในคอนโซล Firebase

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

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