หน้านี้จะแสดงวิธีเปิดใช้ App Check ในแอป C++ โดยใช้ผู้ให้บริการ App Check ที่กำหนดเอง เมื่อเปิดใช้ App Check คุณจะมั่นใจได้ว่ามีเพียงแอปของคุณเท่านั้นที่เข้าถึงทรัพยากร Firebase ของโปรเจ็กต์ได้
หากต้องการใช้ App Check กับผู้ให้บริการเริ่มต้น โปรดดูหัวข้อเปิดใช้ App Check กับผู้ให้บริการเริ่มต้นด้วย C++
ก่อนเริ่มต้น
เพิ่ม Firebase ไปยังโปรเจ็กต์ C++ หากยังไม่ได้ทำ
ใช้ตรรกะฝั่งเซิร์ฟเวอร์ของผู้ให้บริการ App Check ที่กําหนดเอง
1. เพิ่มคลัง App Check ลงในแอป
รวมไลบรารี App Check ไว้ในชุดของ Dependency โดยทําตามวิธีการตั้งค่าสําหรับ App Check
2. ใช้อินเทอร์เฟซ App Check
ก่อนอื่น คุณต้องสร้างคลาสที่ใช้อินเทอร์เฟซ AppCheckProvider
และ
AppCheckProviderFactory
คลาส AppCheckProvider
ต้องมีเมธอด GetToken()
ซึ่งจะรวบรวมข้อมูลใดก็ตามที่ผู้ให้บริการ App Check ที่กําหนดเองต้องการใช้เป็นหลักฐานยืนยันตัวตน และส่งข้อมูลดังกล่าวไปยังบริการรับโทเค็นเพื่อแลกกับโทเค็น App Check SDK ของ App Check จะจัดการแคชโทเค็น ดังนั้นให้รับโทเค็นใหม่เสมอในการใช้งาน GetToken()
class YourCustomAppCheckProvider : public AppCheckProvider {
void GetToken(std::function<void(AppCheckToken, int, const std::string&)>
completion_callback) {
// Logic to exchange proof of authenticity for an App Check token and
// expiration time.
// ...
// Create AppCheckToken object.
AppCheckToken appCheckToken;
appCheckToken.token = token;
appCheckToken.expire_time_millis = expireTime;
completion_callback(appCheckToken, 0, "");
// Or, if needing to return an error
//completion_callback({}, error_code, "Error description");
}
};
นอกจากนี้ ให้ใช้คลาส AppCheckProviderFactory
ที่สร้างอินสแตนซ์ของการติดตั้งใช้งาน AppCheckProvider
class YourCustomAppCheckProviderFactory : public AppCheckProviderFactory {
AppCheckProvider* CreateProvider(App* app) {
// Create and return an AppCheckProvider object.
return new YourCustomAppCheckProvider(app);
}
}
3. เริ่มต้น App Check
เพิ่มโค้ดการเริ่มต้นต่อไปนี้ลงในแอปเพื่อให้แอปทำงานก่อนที่คุณจะใช้ Firebase SDK อื่นๆ
firebase::app_check::AppCheck::SetAppCheckProviderFactory(
YourCustomAppCheckProviderFactory::GetInstance());
ขั้นตอนถัดไป
เมื่อติดตั้งไลบรารี App Check ในแอปแล้ว ให้เริ่มเผยแพร่แอปที่อัปเดตแล้วให้แก่ผู้ใช้
แอปไคลเอ็นต์ที่อัปเดตแล้วจะเริ่มส่งโทเค็น App Check พร้อมกับคำขอทั้งหมดที่ส่งไปยัง Firebase แต่ผลิตภัณฑ์ Firebase จะไม่กำหนดให้โทเค็นต้องถูกต้องจนกว่าคุณจะเปิดใช้การบังคับใช้ในส่วน App Check ของคอนโซล Firebase
ตรวจสอบเมตริกและเปิดใช้การบังคับใช้
อย่างไรก็ตาม ก่อนที่จะเปิดใช้การบังคับใช้ คุณควรตรวจสอบว่าการดำเนินการดังกล่าวจะไม่รบกวนผู้ใช้ที่ถูกต้องตามกฎหมายที่มีอยู่ ในทางกลับกัน หากคุณเห็นการใช้ทรัพยากรแอปที่น่าสงสัย คุณอาจต้องเปิดใช้การบังคับใช้เร็วขึ้น
คุณดูเมตริก App Check ของบริการที่ใช้อยู่เพื่อช่วยในการตัดสินใจนี้ได้ ดังนี้
- ตรวจสอบเมตริกคำขอ App Check สำหรับ Realtime Database, Cloud Firestore, Cloud Storage, Authentication (เบต้า) และ Vertex AI in Firebase
- ตรวจสอบเมตริกคำขอ App Check สำหรับ Cloud Functions
เปิดใช้การบังคับใช้ App Check
เมื่อเข้าใจว่า App Check จะส่งผลต่อผู้ใช้อย่างไรและพร้อมที่จะดำเนินการต่อแล้ว ให้เปิดใช้การบังคับใช้ App Check โดยทำดังนี้
- เปิดใช้การบังคับใช้ App Check สำหรับ Realtime Database, Cloud Firestore, Cloud Storage, Authentication (เบต้า) และ Vertex AI in Firebase
- เปิดใช้การบังคับใช้ App Check สำหรับ Cloud Functions
ใช้ App Check ในสภาพแวดล้อมการแก้ไขข้อบกพร่อง
หากหลังจากลงทะเบียนแอปสำหรับ App Check แล้ว คุณต้องการเรียกใช้แอปในสภาพแวดล้อมที่ปกติแล้ว App Check จะไม่จัดประเภทว่าถูกต้อง เช่น โปรแกรมจำลองระหว่างการพัฒนา หรือจากสภาพแวดล้อมการผสานรวมอย่างต่อเนื่อง (CI) คุณสามารถสร้างบิลด์แก้ไขข้อบกพร่องของแอปที่ใช้ผู้ให้บริการแก้ไขข้อบกพร่องของ App Check แทนผู้ให้บริการตรวจสอบสิทธิ์จริง
โปรดดูหัวข้อใช้ App Check กับผู้ให้บริการแก้ไขข้อบกพร่องด้วย C++