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 v3 ในเว็บแอป

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

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

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

โปรดทราบว่าผู้ใช้จะมองไม่เห็น reCAPTCHA v3 ผู้ให้บริการ reCAPTCHA v3 จะไม่กำหนดให้ผู้ใช้ต้องแก้ปัญหาเมื่อใดก็ได้ ดู เอกสารประกอบ reCAPTCHA v3

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

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

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

  2. ลงทะเบียนไซต์ของคุณสำหรับ reCAPTCHA v3 และรับรหัสไซต์ reCAPTCHA v3 และรหัสลับ

  3. ลงทะเบียนแอปของคุณเพื่อใช้ App Check กับผู้ให้บริการ reCAPTCHA ในส่วน 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 ที่คุณสร้างขึ้นในคอนโซล reCAPTCHA เพื่อ activate()

Web version 9

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

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

// Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this
// key is the counterpart to the secret key you set in the Firebase console.
const appCheck = initializeAppCheck(app, {
  provider: new ReCaptchaV3Provider('abcdefghijklmnopqrstuvwxy-1234567890abcd'),

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  isTokenAutoRefreshEnabled: true
});

Web version 8

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

const appCheck = firebase.appCheck();
// Pass your reCAPTCHA v3 site key (public key) to activate(). Make sure this
// key is the counterpart to the secret key you set in the Firebase console.
appCheck.activate(
  'abcdefghijklmnopqrstuvwxy-1234567890abcd',

  // Optional argument. If true, the SDK automatically refreshes App Check
  // tokens as needed.
  true);

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

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

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

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

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

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

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

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

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

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

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