Catch up on highlights from Firebase at Google I/O 2023. Learn more

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

หน้านี้แสดงวิธีเปิดใช้งานการตรวจสอบแอปในเว็บแอป โดยใช้ผู้ให้บริการ reCAPTCHA Enterprise เมื่อคุณเปิดใช้การตรวจสอบแอป คุณช่วยให้แน่ใจว่าแอปของคุณเท่านั้นที่สามารถเข้าถึงทรัพยากร 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 ในส่วน การตรวจสอบแอป ของคอนโซล 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 Console เพื่อ activate()

Web modular API

import { initializeApp } from "firebase/app";
import { initializeAppCheck, ReCaptchaEnterpriseProvider } from "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 namespaced API

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 ในแอปของคุณแล้ว ให้ปรับใช้

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

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

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

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

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

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

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

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

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

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

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

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