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

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

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

หากต้องการใช้ App Check กับผู้ให้บริการที่กำหนดเอง โปรดดูใช้ผู้ให้บริการ App Check ที่กำหนดเอง

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. เริ่มต้น App Check

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

Web

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

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 จะไม่กำหนดให้โทเค็นใช้งานได้จนกว่าคุณจะเปิดใช้การบังคับใช้ในส่วน App Check ของคอนโซล Firebase

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

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

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

เปิดใช้การบังคับใช้ App Check

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

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

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

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

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

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

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