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