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

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

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

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

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

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

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

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

เช่น

void CallApiExample() {
    firebase_app_check::AppCheck* app_check = firebase::app_check::AppCheck::GetInstance();
    Future<std::string> app_check_future = app_check->GetAppCheckToken(false);
    app_check_future.OnCompletion([&](const Future<std::string>& future_token) {
        if (future_token.result()) {
            // Got a valid App Check token. Include it in your own http calls.
        }
    }
}