หน้านี้แสดงวิธีเปิดใช้ 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 และการตรวจสอบสิทธิ์ (เบต้า)
- ตรวจสอบเมตริกคำขอ App Check สำหรับ Cloud Functions
เปิดใช้การบังคับใช้ App Check
เมื่อเข้าใจว่า App Check จะส่งผลกระทบต่อผู้ใช้อย่างไร และคุณพร้อมที่จะดำเนินการต่อแล้ว ให้เปิดใช้การบังคับใช้ App Check ดังนี้
- เปิดใช้การบังคับใช้ App Check สำหรับ Realtime Database, Cloud Firestore, Cloud Storage และการตรวจสอบสิทธิ์ (เบต้า)
- เปิดใช้การบังคับใช้ 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