หน้านี้แสดงวิธีเปิดใช้ App Check ในแอป C++ โดยใช้ ผู้ให้บริการเริ่มต้น ได้แก่ Play Integrity ใน Android และ Device Check หรือ App Attest บนแพลตฟอร์ม Apple การเปิดใช้ App Check ช่วยให้มั่นใจได้ว่า มีเพียงแอปของคุณเท่านั้นที่เข้าถึงทรัพยากร Firebase ของโปรเจ็กต์ได้ ดูภาพรวมของฟีเจอร์นี้
1. สร้างโปรเจ็กต์ Firebase
เพิ่ม Firebase ไปยังโปรเจ็กต์ C++ หากยังไม่ได้ทำ
ลงทะเบียนแอปเพื่อใช้ App Check กับผู้ให้บริการ Play Integrity, Device Check หรือ App Attest ในส่วน การตั้งค่าโปรเจ็กต์ > App Check ของคอนโซล 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 ไว้ในชุดทรัพยากร Dependency ตามวิธีการตั้งค่าสำหรับ App Check
3. เริ่มต้น App Check
เพิ่มโค้ดการเริ่มต้นต่อไปนี้ลงในแอปเพื่อให้แอปทำงานก่อนที่คุณจะใช้บริการ Firebase รวมถึงการสร้างแอป Firebase
Android
รวมไฟล์ส่วนหัวสำหรับ
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 จะไม่กำหนดให้โทเค็นใช้งานได้จนกว่าคุณจะเปิดใช้การบังคับใช้ในส่วน App Check ของคอนโซล Firebase
ตรวจสอบเมตริกและเปิดใช้การบังคับใช้
อย่างไรก็ตาม ก่อนเปิดใช้การบังคับใช้ คุณควรตรวจสอบว่าการดำเนินการดังกล่าวจะไม่รบกวนผู้ใช้ที่ถูกต้องที่มีอยู่ ในทางกลับกัน หากคุณพบว่ามีการใช้ทรัพยากรของแอปที่น่าสงสัย คุณอาจต้องเปิดใช้การบังคับใช้โดยเร็ว
โปรดดูเมตริก App Check สำหรับบริการที่คุณใช้เพื่อประกอบการตัดสินใจนี้
- ตรวจสอบเมตริกคำขอ App Check สำหรับ Realtime Database, Cloud Firestore และ Cloud Storage
- ตรวจสอบเมตริกคำขอ App Check สำหรับ Cloud Functions
เปิดใช้การบังคับใช้ App Check
เมื่อเข้าใจว่า App Check จะส่งผลกระทบต่อผู้ใช้อย่างไร และคุณพร้อมที่จะดำเนินการต่อแล้ว ให้เปิดใช้การบังคับใช้ App Check ดังนี้
- เปิดใช้การบังคับใช้ App Check สำหรับ Realtime Database, Cloud Firestore และ Cloud Storage
- เปิดใช้การบังคับใช้ App Check สำหรับ Cloud Functions
ใช้ App Check ในสภาพแวดล้อมการแก้ไขข้อบกพร่อง
หากคุณต้องการเรียกใช้แอปในสภาพแวดล้อมที่ App Check จะจัดประเภทว่าไม่ถูกต้องหลังจากลงทะเบียนแอปหลังจากลงทะเบียน App Check แล้ว เช่น บนเดสก์ท็อป โปรแกรมจำลองระหว่างการพัฒนา หรือจากสภาพแวดล้อมการผสานรวมอย่างต่อเนื่อง (CI) คุณจะสร้างบิลด์การแก้ไขข้อบกพร่องของแอปที่ใช้ผู้ให้บริการแก้ไขข้อบกพร่องของ App Check แทนผู้ให้บริการเอกสารรับรองจริงได้
โปรดดูใช้ App Check กับผู้ให้บริการแก้ไขข้อบกพร่องในแอป C++