ปกป้องทรัพยากรแบ็กเอนด์ที่กำหนดเองด้วย App Check ในโปรเจ็กต์ Flutter

คุณสามารถใช้ App Check เพื่อปกป้องทรัพยากรแบ็กเอนด์ที่กำหนดเองซึ่งไม่ใช่ของ Google สำหรับ แอป เช่น แบ็กเอนด์ที่โฮสต์ด้วยตนเอง หากต้องการทำเช่นนั้น คุณจะต้องทำทั้ง 2 อย่างต่อไปนี้

  • แก้ไขไคลเอ็นต์แอปเพื่อส่งโทเค็น App Check พร้อมกับคำขอแต่ละรายการไปยังแบ็กเอนด์ตามที่อธิบายไว้ในหน้านี้
  • แก้ไขแบ็กเอนด์ให้กำหนดให้ต้องมีโทเค็น App Check ที่ถูกต้องกับทุกคำขอ ตามที่อธิบายไว้ในยืนยันโทเค็น App Check จากแบ็กเอนด์ที่กำหนดเอง

ก่อนเริ่มต้น

เพิ่ม App Check ลงในแอปโดยใช้ผู้ให้บริการเริ่มต้น

ส่งโทเค็น App Check พร้อมกับคำขอแบ็กเอนด์

หากต้องการให้คำขอแบ็กเอนด์มีโทเค็น App Check ที่ถูกต้องและไม่หมดอายุ ให้ใส่การเรียก getToken() ไว้ก่อนคำขอแต่ละรายการ ไลบรารี App Check จะรีเฟรชโทเค็นหากจำเป็น

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

ตัวอย่าง

void callApiExample() async {
    final appCheckToken = await FirebaseAppCheck.instance.getToken();
    if (appCheckToken != null) {
        final response = await http.get(
            Uri.parse("https://yourbackend.example.com/yourExampleEndpoint"),
            headers: {"X-Firebase-AppCheck": appCheckToken},
        );
    } else {
        // Error: couldn't get an App Check token.
    }
}