หน้านี้แสดงวิธีเปิดใช้ App Check ในเว็บแอปโดยใช้ ผู้ให้บริการ reCAPTCHA Enterprise เมื่อเปิดใช้ App Check คุณจะมั่นใจได้ว่า ที่มีเพียงแอปของคุณเท่านั้นที่เข้าถึงทรัพยากร Firebase ของโปรเจ็กต์ได้ โปรดดู ภาพรวมของฟีเจอร์นี้
โปรดทราบว่า App Check ใช้คีย์เว็บไซต์ที่อิงตามคะแนนของ reCAPTCHA Enterprise ทำให้ผู้ใช้มองไม่เห็น ผู้ให้บริการ reCAPTCHA Enterprise จะไม่กำหนดให้ดำเนินการ แก้ปัญหาที่ท้าทายได้ทุกเมื่อ
หากต้องการใช้ App Check กับผู้ให้บริการที่กำหนดเองของคุณ โปรดดู ใช้ผู้ให้บริการ App Check ที่กำหนดเอง
1. สร้างโปรเจ็กต์ Firebase
เพิ่ม Firebase ลงในโปรเจ็กต์ JavaScript หากยังไม่ได้เพิ่ม ทำแล้ว
เปิด reCAPTCHA Enterprise ของ Cloud Console แล้วทำสิ่งต่อไปนี้
- หากคุณได้รับแจ้งให้เปิดใช้ reCAPTCHA Enterprise API ให้ดำเนินการดังกล่าว
- สร้างคีย์ประเภทเว็บไซต์ คุณจะต้องระบุโดเมนสำหรับ ที่คุณโฮสต์เว็บแอป ออกจาก "ใช้คำถามที่มีช่องทำเครื่องหมาย" ตัวเลือก ที่ไม่ได้เลือก
ลงทะเบียนแอปเพื่อใช้ App Check ด้วย reCAPTCHA Enterprise ใน ส่วน App Check ของ คอนโซล Firebase คุณจะต้องระบุคีย์ของเว็บไซต์ที่ได้รับใน ขั้นตอนก่อนหน้า
ปกติแล้วคุณจะต้องลงทะเบียนแอปทั้งหมดของโครงการ เพราะเมื่อคุณ เปิดใช้การบังคับใช้สำหรับผลิตภัณฑ์ Firebase เฉพาะแอปที่ลงทะเบียนเท่านั้นที่ทำได้ เพื่อเข้าถึงทรัพยากรแบ็กเอนด์ของผลิตภัณฑ์
ไม่บังคับ: ในการตั้งค่าการลงทะเบียนแอป ให้ตั้งค่า 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 สำหรับ Realtime Database, Cloud Firestore, Cloud Storage และ Authentication (เบต้า)
- ตรวจสอบเมตริกคำขอของ App Check สำหรับ Cloud Functions
เปิดใช้การบังคับใช้ App Check
เมื่อเข้าใจแล้วว่า App Check จะส่งผลต่อผู้ใช้อย่างไรและพร้อม ดำเนินการต่อ คุณสามารถเปิดการบังคับใช้ App Check ได้โดยทำดังนี้
- เปิดใช้การบังคับใช้ App Check สำหรับ Realtime Database, Cloud Firestore, Cloud Storage และ Authentication (เบต้า)
- เปิดใช้การบังคับใช้ App Check สำหรับ Cloud Functions
ใช้ App Check ในสภาพแวดล้อมการแก้ไขข้อบกพร่อง
หากหลังจากที่คุณลงทะเบียนแอปสำหรับ App Check แล้ว คุณต้องการเรียกใช้ แอปในสภาพแวดล้อมที่โดยปกติแล้ว App Check จะไม่จัดว่าเป็นแอปที่ถูกต้อง เช่น ภายในระหว่างการพัฒนา หรือจากการผสานรวมอย่างต่อเนื่อง (CI) คุณสามารถสร้างบิลด์การแก้ไขข้อบกพร่องของแอปที่ใช้ App Check แทนที่จะเป็นผู้ให้บริการเอกสารรับรองจริง
โปรดดูหัวข้อใช้ App Check กับผู้ให้บริการแก้ไขข้อบกพร่องในเว็บแอป
หมายเหตุเกี่ยวกับค่าใช้จ่าย
App Check สร้างการประเมินในนามของคุณเพื่อตรวจสอบความถูกต้องของ โทเค็นการตอบกลับทุกครั้งที่เบราว์เซอร์ที่เรียกใช้เว็บแอปของคุณรีเฟรช App Check โทเค็น ระบบจะเรียกเก็บเงินจากโปรเจ็กต์สำหรับการประเมินแต่ละรายการที่สร้างขึ้น เกินโควต้าที่ไม่มีค่าใช้จ่าย ดูการกำหนดราคา reCAPTCHA เพื่อดูรายละเอียด
โดยค่าเริ่มต้น เว็บแอปของคุณจะรีเฟรชโทเค็นนี้ 2 ครั้งทุก 1 ชั่วโมง ถึง ควบคุมความถี่ที่แอปของคุณรีเฟรชโทเค็น App Check (รวมถึงระดับ มักจะสร้างการประเมินใหม่) กำหนดค่า TTL