เริ่มต้นใช้งาน App Check ในแอป C++

หน้านี้แสดงวิธีเปิดใช้ App Check ในแอป C++ โดยใช้ผู้ให้บริการเริ่มต้น ได้แก่ Play Integrity ใน Android และ Device Check หรือ App Attest ในแพลตฟอร์ม Apple เมื่อเปิดใช้ App Check คุณจะช่วยให้มั่นใจได้ว่ามีเพียงแอปของคุณเท่านั้นที่เข้าถึงทรัพยากร Firebase ของโปรเจ็กต์ได้ ดู ภาพรวมของฟีเจอร์นี้

1. ตั้งค่าโปรเจ็กต์ Firebase

  1. เพิ่ม Firebase ลงในโปรเจ็กต์ C++ หากยังไม่ได้ เพิ่ม

  2. ในคอนโซล Firebase ให้ไปที่ความปลอดภัย > App Check

  3. ในแท็บแอป ให้ลงทะเบียนแอปเพื่อใช้ App Check กับผู้ให้บริการ Play Integrity, DeviceCheck หรือ App Attest

    โดยปกติแล้วคุณจะต้องลงทะเบียนแอปทั้งหมดของโปรเจ็กต์ เนื่องจากเมื่อคุณเปิดใช้การบังคับใช้สำหรับผลิตภัณฑ์ Firebase แล้ว เฉพาะแอปที่ลงทะเบียนเท่านั้นที่จะเข้าถึงทรัพยากรแบ็กเอนด์ของผลิตภัณฑ์ได้

    ดูวิธีการโดยละเอียดเกี่ยวกับวิธีลงทะเบียนกับผู้ให้บริการแต่ละรายได้ในเอกสารประกอบเฉพาะของ Android และ iOS

  4. ไม่บังคับ: ในการตั้งค่าการลงทะเบียนแอป ให้ตั้งค่า 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. เริ่มต้น App Check

เพิ่มโค้ดการเริ่มต้นต่อไปนี้ลงในแอปเพื่อให้โค้ดทำงานก่อนที่คุณจะใช้บริการ Firebase ใดๆ รวมถึงการสร้างแอป Firebase

Android

  1. ใส่ไฟล์ส่วนหัวสำหรับ firebase::app_check

    #include "firebase/app_check.h"
  2. เริ่มต้นไลบรารี App Check ด้วยผู้ให้บริการ Play Integrity

    firebase::app_check::AppCheck::SetAppCheckProviderFactory(
      firebase::app_check::PlayIntegrityProviderFactory::GetInstance());
    

iOS+

  1. ใส่ไฟล์ส่วนหัวสำหรับ firebase::app_check

    #include "firebase/app_check.h"
  2. เริ่มต้นไลบรารี 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

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

ใช้ App Check ในสภาพแวดล้อมการแก้ไขข้อบกพร่อง

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

ดูหัวข้อใช้ App Check กับผู้ให้บริการการแก้ไขข้อบกพร่องในแอป C++