ปกป้องทรัพยากรที่ไม่ใช่ Firebase ด้วย App Check

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

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

ก่อนจะเริ่ม

เพิ่ม 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.
    }
}