Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

เริ่มต้นใช้งาน App Check กับ reCAPTCHA Enterprise ในเว็บแอป

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

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

reCAPTCHA Enterprise เป็นบริการแบบชำระเงินพร้อมโควต้าที่ไม่มีค่าใช้จ่าย App Check ยังรองรับ reCAPTCHA v3 ซึ่งเป็นบริการที่ไม่มีค่าใช้จ่าย หากต้องการเรียนรู้ความแตกต่างระหว่าง reCAPTCHA v3 และ reCAPTCHA Enterprise โปรดดูการ เปรียบเทียบคุณลักษณะ

โปรดทราบว่า App Check ใช้คีย์เว็บไซต์ตามคะแนน reCAPTCHA Enterprise ซึ่งทำให้ผู้ใช้มองไม่เห็น ผู้ให้บริการ reCAPTCHA Enterprise จะไม่กำหนดให้ผู้ใช้แก้ปัญหาเมื่อใดก็ได้

หากคุณต้องการใช้ App Check กับผู้ให้บริการที่คุณกำหนดเอง โปรดดู ที่ Implement a custom App Check provider

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

  1. เพิ่ม Firebase ในโครงการ JavaScript หากคุณยังไม่ได้ดำเนินการ

  2. เปิดส่วน reCAPTCHA Enterprise ของ Cloud Console และทำสิ่งต่อไปนี้:

    1. หากคุณได้รับแจ้งให้เปิดใช้งาน reCAPTCHA Enterprise API ให้ดำเนินการดังกล่าว
    2. สร้างคีย์ประเภท เว็บไซต์ คุณจะต้องระบุโดเมนที่คุณโฮสต์เว็บแอปของคุณ ยกเลิกการ เลือกตัวเลือก "ใช้การทดสอบช่องทำเครื่องหมาย"
  3. ลงทะเบียนแอปของคุณเพื่อใช้ App Check กับผู้ให้บริการ reCAPTCHA Enterprise ในส่วน App Check ของคอนโซล Firebase คุณจะต้องระบุรหัสเว็บไซต์ที่คุณได้รับในขั้นตอนก่อนหน้า

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

  4. ไม่บังคับ : ในการตั้งค่าการลงทะเบียนแอพ ตั้งค่า time-to-live (TTL) แบบกำหนดเองสำหรับโทเค็น App Check ที่ออกโดยผู้ให้บริการ คุณสามารถตั้งค่า TTL เป็นค่าใดก็ได้ระหว่าง 30 นาทีถึง 7 วัน เมื่อเปลี่ยนค่านี้ ให้ระวังการประนีประนอมต่อไปนี้:

    • ความปลอดภัย: TTL ที่สั้นกว่านั้นให้การรักษาความปลอดภัยที่แข็งแกร่งกว่า เนื่องจากช่วยลดหน้าต่างที่ผู้โจมตีสามารถใช้โทเค็นที่รั่วหรือถูกดักจับในทางที่ผิด
    • ประสิทธิภาพ: TTL ที่สั้นลงหมายความว่าแอปของคุณจะดำเนินการรับรองบ่อยขึ้น เนื่องจากกระบวนการรับรองแอปจะเพิ่มเวลาในการตอบสนองให้กับคำขอเครือข่ายทุกครั้งที่ดำเนินการ TTL แบบสั้นจึงอาจส่งผลต่อประสิทธิภาพของแอปได้
    • โควต้าและค่าใช้จ่าย: TTL ที่สั้นลงและการยืนยันซ้ำบ่อยครั้งจะทำให้โควต้าของคุณหมดเร็วขึ้น และสำหรับบริการที่ชำระเงิน อาจมีราคาสูงกว่า ดู โควต้าและขีดจำกัด

    TTL เริ่มต้น 1 ชั่วโมง นั้นสมเหตุสมผลสำหรับแอปส่วนใหญ่ โปรดทราบว่าไลบรารี App Check จะรีเฟรชโทเค็นที่ระยะเวลา TTL ประมาณครึ่งหนึ่ง

2. เพิ่มไลบรารี App Check ในแอปของคุณ

เพิ่ม Firebase ลงในเว็บแอปของ คุณ หากยังไม่ได้ทำ อย่าลืมนำเข้าไลบรารี App Check

3. เริ่มต้นการตรวจสอบแอป

เพิ่มรหัสเริ่มต้นต่อไปนี้ในแอปพลิเคชันของคุณ ก่อนที่คุณจะเข้าถึงบริการใดๆ ของ Firebase คุณจะต้องส่งคีย์ไซต์ reCAPTCHA Enterprise ซึ่งคุณสร้างในคอนโซล Cloud เพื่อ activate()

Web version 9

const { initializeApp } = require("firebase/app");
const { initializeAppCheck, ReCaptchaEnterpriseProvider } = require("firebase/app-check");

const app = initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to initializeAppCheck().
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaEnterpriseProvider(/* reCAPTCHA Enterprise site key */),
  isTokenAutoRefreshEnabled: true // Set to true to allow auto-refresh.
});

Web version 8

firebase.initializeApp({
  // Your Firebase configuration object.
});

// Create a ReCaptchaEnterpriseProvider instance using your reCAPTCHA Enterprise
// site key and pass it to activate().
const appCheck = firebase.appCheck();
appCheck.activate(
  new firebase.appCheck.ReCaptchaEnterpriseProvider(
    /* reCAPTCHA Enterprise site key */
  ),
  true // Set to true to allow auto-refresh.
);

ขั้นตอนถัดไป

เมื่อติดตั้งไลบรารี App Check ในแอปของคุณแล้ว ให้ปรับใช้

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

ตรวจสอบเมตริกและเปิดใช้การบังคับใช้

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

เพื่อช่วยในการตัดสินใจนี้ คุณสามารถดูเมตริก App Check สำหรับบริการที่คุณใช้:

เปิดใช้งานการบังคับใช้การตรวจสอบแอป

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

ใช้ App Check ในสภาพแวดล้อมการดีบัก

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

ดู ใช้การตรวจสอบแอปกับผู้ให้บริการแก้ไขข้อบกพร่องในเว็บแอป

หมายเหตุเกี่ยวกับค่าใช้จ่าย

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

โดยค่าเริ่มต้น เว็บแอปของคุณจะรีเฟรชโทเค็นนี้สองครั้งทุก ๆ 1 ชั่วโมง ในการควบคุมความถี่ที่แอปของคุณรีเฟรชโทเค็น App Check (และความถี่ในการสร้างการประเมินใหม่) ให้ กำหนดค่า TTL