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

คุณใช้ App Check เพื่อปกป้องทรัพยากรของแอปที่ไม่ใช่ Firebase ได้ เช่น แบ็กเอนด์ที่โฮสต์ด้วยตนเอง ในการดำเนินการนี้ คุณจะต้องทำทั้ง 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.
    }
}