หน้านี้แสดงวิธีเปิดใช้งาน App Check ในแอป C++ โดยใช้ผู้ให้บริการเริ่มต้น: Play Integrity บน Android และ Device Check หรือ App Attest บนแพลตฟอร์ม Apple เมื่อคุณเปิดใช้การตรวจสอบแอป คุณช่วยให้แน่ใจว่าแอปของคุณเท่านั้นที่สามารถเข้าถึงทรัพยากร Firebase ของโครงการได้ ดู ภาพรวม ของคุณสมบัตินี้
1. ตั้งค่าโครงการ Firebase ของคุณ
เพิ่ม Firebase ในโครงการ C++ หากคุณยังไม่ได้ดำเนินการ
ลงทะเบียนแอปของคุณเพื่อใช้การตรวจสอบแอปกับผู้ให้บริการ Play Integrity, Device Check หรือ App Attest ในส่วน การตั้งค่าโครงการ > การตรวจสอบแอป ของคอนโซล Firebase
โดยปกติแล้ว คุณจะต้องลงทะเบียนแอปทั้งหมดของโครงการ เนื่องจากเมื่อคุณเปิดใช้งานการบังคับใช้สำหรับผลิตภัณฑ์ Firebase แล้ว เฉพาะแอปที่ลงทะเบียนแล้วเท่านั้นที่จะสามารถเข้าถึงทรัพยากรแบ็กเอนด์ของผลิตภัณฑ์ได้
สำหรับคำแนะนำโดยละเอียดเกี่ยวกับวิธีลงทะเบียนกับผู้ให้บริการแต่ละราย โปรดดูเอกสารเฉพาะของ Android และ iOS
ทางเลือก : ในการตั้งค่าการลงทะเบียนแอพ ให้ตั้งค่า time-to-live (TTL) แบบกำหนดเองสำหรับโทเค็น App Check ที่ออกโดยผู้ให้บริการ คุณสามารถตั้งค่า TTL เป็นค่าใดก็ได้ระหว่าง 30 นาทีถึง 7 วัน เมื่อเปลี่ยนค่านี้ ให้ระวังการแลกเปลี่ยนต่อไปนี้:
- ความปลอดภัย: TTL ที่สั้นกว่าให้การรักษาความปลอดภัยที่แน่นหนากว่า เนื่องจากจะลดหน้าต่างที่โทเค็นที่รั่วไหลหรือสกัดกั้นอาจถูกโจมตีโดยผู้โจมตี
- ประสิทธิภาพ: TTL ที่สั้นลงหมายความว่าแอปของคุณจะดำเนินการรับรองบ่อยขึ้น เนื่องจากกระบวนการรับรองแอปเพิ่มเวลาแฝงให้กับคำขอเครือข่ายทุกครั้งที่ดำเนินการ TTL สั้นๆ อาจส่งผลต่อประสิทธิภาพของแอปได้
- โควต้าและค่าใช้จ่าย: TTL ที่สั้นลงและการยืนยันซ้ำบ่อยครั้งจะทำให้โควต้าของคุณหมดเร็วขึ้น และสำหรับบริการแบบชำระเงิน อาจมีค่าใช้จ่ายสูงกว่า ดู โควต้าและขีดจำกัด
TTL เริ่มต้นนั้นสมเหตุสมผลสำหรับแอพส่วนใหญ่ โปรดทราบว่าไลบรารี App Check จะรีเฟรชโทเค็นที่ประมาณครึ่งหนึ่งของระยะเวลา TTL
2. เพิ่มไลบรารี App Check ลงในแอปของคุณ
รวมไลบรารี App Check ไว้ในชุดการอ้างอิงของคุณ โดยทำตาม คำแนะนำการตั้งค่า สำหรับ App Check
3. เริ่มต้นการตรวจสอบแอป
เพิ่มรหัสเริ่มต้นต่อไปนี้ลงในแอปของคุณ เพื่อให้แอปทำงานก่อนที่คุณจะใช้บริการ Firebase รวมถึงการสร้างแอป Firebase
แอนดรอยด์
รวมไฟล์ส่วนหัวสำหรับ
firebase::app_check
:#include "firebase/app_check.h"
เริ่มต้นไลบรารี App Check กับผู้ให้บริการ Play Integrity:
firebase::app_check::AppCheck::SetAppCheckProviderFactory( firebase::app_check::PlayIntegrityProviderFactory::GetInstance());
iOS+
รวมไฟล์ส่วนหัวสำหรับ
firebase::app_check
:#include "firebase/app_check.h"
เริ่มต้นไลบรารี App Check ด้วยผู้ให้บริการ Device Check หรือ App Attest:
firebase::app_check::AppCheck::SetAppCheckProviderFactory( firebase::app_check::DeviceCheckProviderFactory::GetInstance());
ขั้นตอนถัดไป
เมื่อติดตั้งไลบรารี App Check ในแอปของคุณแล้ว ให้เริ่มแจกจ่ายแอปที่อัปเดตให้กับผู้ใช้ของคุณ
แอปไคลเอ็นต์ที่อัปเดตจะเริ่มส่งโทเค็น App Check ไปพร้อมกับทุกคำขอที่ส่งไปยัง Firebase แต่ผลิตภัณฑ์ Firebase จะไม่กำหนดให้โทเค็นถูกต้องจนกว่าคุณจะเปิดใช้งานการบังคับใช้ในส่วนการตรวจสอบแอปของคอนโซล Firebase
ตรวจสอบเมตริกและเปิดใช้งานการบังคับใช้
อย่างไรก็ตาม ก่อนที่คุณจะเปิดใช้งานการบังคับใช้ คุณควรตรวจสอบให้แน่ใจว่าการทำเช่นนั้นจะไม่รบกวนผู้ใช้ที่ถูกต้องตามกฎหมายที่มีอยู่ของคุณ ในทางกลับกัน หากคุณเห็นการใช้ทรัพยากรแอปของคุณอย่างน่าสงสัย คุณอาจต้องการเปิดใช้งานการบังคับใช้เร็วกว่านี้
เพื่อช่วยในการตัดสินใจนี้ คุณสามารถดูเมตริก App Check สำหรับบริการที่คุณใช้:
- ตรวจสอบเมตริกคำขอตรวจสอบแอป สำหรับฐานข้อมูลเรียลไทม์, Cloud Firestore และที่เก็บข้อมูลบนคลาวด์
- ตรวจสอบเมตริกคำขอ App Check สำหรับ Cloud Functions
เปิดใช้การบังคับใช้การตรวจสอบแอป
เมื่อคุณเข้าใจว่า App Check จะส่งผลต่อผู้ใช้ของคุณอย่างไร และคุณพร้อมที่จะดำเนินการต่อ คุณสามารถเปิดใช้การบังคับใช้ App Check ได้:
- เปิดใช้การบังคับใช้การตรวจสอบแอป สำหรับฐานข้อมูลเรียลไทม์, Cloud Firestore และ Cloud Storage
- เปิดใช้งานการบังคับใช้การตรวจสอบแอพสำหรับฟังก์ชั่นคลาวด์
ใช้ App Check ในสภาพแวดล้อมการดีบัก
หากหลังจากคุณลงทะเบียนแอปสำหรับ App Check แล้ว คุณต้องการใช้งานแอปในสภาพแวดล้อมที่ปกติแล้ว App Check จะไม่จัดว่าถูกต้อง เช่น บนเดสก์ท็อป โปรแกรมจำลองระหว่างการพัฒนา หรือจากสภาพแวดล้อมการผสานรวมอย่างต่อเนื่อง (CI) คุณสามารถสร้างบิลด์แก้ไขข้อบกพร่องของแอปที่ใช้ผู้ให้บริการตรวจแก้จุดบกพร่อง App Check แทนผู้ให้บริการรับรองจริง
ดู ใช้การตรวจสอบแอปกับผู้ให้บริการดีบักในแอป C++