หน้านี้แสดงวิธีเปิดใช้ App Check ในเว็บแอปโดยใช้ผู้ให้บริการ reCAPTCHA v3 ในตัว เมื่อเปิดใช้ App Check คุณจะช่วยให้มั่นใจได้ว่ามีเพียง แอปของคุณเท่านั้นที่เข้าถึงทรัพยากร Firebase ของโปรเจ็กต์ได้ ดูภาพรวมของฟีเจอร์นี้
โปรดทราบว่าผู้ใช้จะไม่เห็น reCAPTCHA v3 ผู้ให้บริการ reCAPTCHA v3 จะไม่ กำหนดให้ผู้ใช้แก้ปัญหาในภาพทดสอบเมื่อใดก็ตาม ดูเอกสารประกอบของ reCAPTCHA v3
หากต้องการใช้ App Check กับผู้ให้บริการที่กำหนดเองของคุณเอง โปรดดูติดตั้งใช้งานผู้ให้บริการ App Check ที่กำหนดเอง
1. ตั้งค่าโปรเจ็กต์ Firebase
เพิ่ม Firebase ลงในโปรเจ็กต์ JavaScript หากยังไม่ได้เพิ่ม
ลงทะเบียนเว็บไซต์สำหรับ reCAPTCHA v3 และรับ คีย์ของเว็บไซต์ reCAPTCHA v3 และคีย์ลับ
ลงทะเบียนแอปเพื่อใช้ App Check กับผู้ให้บริการ reCAPTCHA ในส่วนApp Check ของคอนโซล Firebase คุณจะต้องระบุคีย์ลับที่ได้รับใน ขั้นตอนก่อนหน้า
โดยปกติแล้วคุณจะต้องลงทะเบียนแอปทั้งหมดของโปรเจ็กต์ เนื่องจากเมื่อเปิดใช้การบังคับใช้ผลิตภัณฑ์ Firebase แล้ว เฉพาะแอปที่ลงทะเบียนเท่านั้นที่จะเข้าถึงทรัพยากรแบ็กเอนด์ของผลิตภัณฑ์ได้
ไม่บังคับ: ในการตั้งค่าการลงทะเบียนแอป ให้ตั้งค่า Time-To-Live (TTL) ที่กำหนดเองสำหรับโทเค็น App Check ที่ออกโดยผู้ให้บริการ คุณตั้งค่า TTL เป็นค่าใดก็ได้ระหว่าง 30 นาทีถึง 7 วัน เมื่อเปลี่ยนค่านี้ โปรด คำนึงถึงข้อแลกเปลี่ยนต่อไปนี้
- ความปลอดภัย: TTL ที่สั้นลงจะช่วยเพิ่มความปลอดภัย เนื่องจากจะลด ช่วงเวลาที่ผู้โจมตีจะใช้โทเค็นที่รั่วไหลหรือถูกดักจับในทางที่ผิดได้
- ประสิทธิภาพ: TTL ที่สั้นกว่าหมายความว่าแอปจะทำการรับรองบ่อยขึ้น เนื่องจากกระบวนการรับรองแอปจะเพิ่มเวลาในการตอบสนองให้กับคำขอในเครือข่ายทุกครั้งที่ดำเนินการ การตั้งค่า TTL ที่สั้นจึงอาจส่งผลต่อประสิทธิภาพของแอป
- โควต้าและค่าใช้จ่าย: TTL ที่สั้นลงและการรับรองซ้ำบ่อยๆ จะทำให้โควต้าของคุณหมดเร็วขึ้น และสำหรับบริการแบบชำระเงิน อาจมีค่าใช้จ่ายมากขึ้น ดูโควต้าและขีดจำกัด
TTL เริ่มต้นที่ 1 วัน ถือว่าเหมาะสมสำหรับแอปส่วนใหญ่ โปรดทราบว่าApp Checkไลบรารีจะรีเฟรช โทเค็นที่ประมาณครึ่งหนึ่งของระยะเวลา TTL
กำหนดค่าการตั้งค่าขั้นสูง (ไม่บังคับ)
เมื่อผู้ใช้เข้าชมเว็บแอปของคุณ reCAPTCHA v3 จะประเมินระดับความเสี่ยงที่การโต้ตอบของผู้ใช้ก่อให้เกิด และแสดงคะแนนระหว่าง 0.0 ถึง 1.0 โดย 1.0 คือการโต้ตอบที่ดีมาก และ 0.0 คือบอท App Check ช่วยให้คุณ กำหนดค่าเกณฑ์ความเสี่ยงของแอปเพื่อปรับระดับความเสี่ยงที่คุณยอมรับได้
สําหรับกรณีการใช้งานส่วนใหญ่ เราขอแนะนําให้ใช้ค่าเกณฑ์เริ่มต้นที่ 0.5 หากกรณีการใช้งานของคุณต้องมีการปรับเปลี่ยน คุณสามารถกำหนดค่าได้ในส่วน App Check ของคอนโซล Firebase สำหรับเว็บแอปแต่ละแอป
รายละเอียด
App Check ใช้เกณฑ์ความเสี่ยงของแอปที่กำหนดค่าไว้เป็นคะแนน reCAPTCHA v3 ขั้นต่ำที่จำเป็นสำหรับการโต้ตอบของผู้ใช้จึงจะถือว่าถูกต้อง คะแนน reCAPTCHA v3 ทั้งหมดที่ต่ำกว่าเกณฑ์ความเสี่ยงของแอปที่คุณกำหนดค่าไว้จะถูกปฏิเสธ อย่างเคร่งครัด เมื่อปรับเกณฑ์ความเสี่ยงของแอป โปรดคำนึงถึงสิ่งต่อไปนี้
- หากต้องการตรวจสอบการกระจายคะแนน reCAPTCHA v3 สำหรับเว็บแอป ให้ไปที่คอนโซลผู้ดูแลระบบ reCAPTCHA แล้วเลือกเว็บไซต์ที่สอดคล้องกับเว็บแอป
หากคุณมีระดับการยอมรับความเสี่ยงของแอปต่ำ ให้เลื่อนแถบเลื่อนไปทางซ้ายเพื่อ เพิ่มเกณฑ์ความเสี่ยงของแอป
- ไม่แนะนำให้ใช้ค่า 1.0 เนื่องจากการตั้งค่านี้อาจปฏิเสธการเข้าถึงของผู้ใช้ที่ถูกต้องซึ่งมีคุณสมบัติไม่ตรงกับเกณฑ์ความน่าเชื่อถือสูงนี้ด้วย
หากคุณมีระดับการยอมรับความเสี่ยงของแอปสูง ให้เลื่อนแถบเลื่อนไปทางขวาเพื่อ ลดเกณฑ์ความเสี่ยงของแอป
- ไม่แนะนำให้ใช้ค่า 0.0 เนื่องจากค่านี้จะปิดใช้การป้องกันการละเมิด
ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบของ reCAPTCHA v3
2. เพิ่มไลบรารี App Check ลงในแอป
เพิ่ม Firebase ลงในเว็บแอปหากยังไม่ได้เพิ่ม อย่าลืม นำเข้าApp Checkคลัง
3. เริ่มต้น App Check
เพิ่มโค้ดการเริ่มต้นต่อไปนี้ลงในแอปพลิเคชันก่อนที่จะเข้าถึงบริการ Firebase คุณจะต้องส่งคีย์ของเว็บไซต์ reCAPTCHA ที่สร้างไว้ในคอนโซล reCAPTCHA ไปยัง activate()
Web
import { initializeApp } from "firebase/app"; import { initializeAppCheck, ReCaptchaV3Provider } from "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
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ไลบรารีในแอปแล้ว ให้ทําให้ใช้งานได้
แอปไคลเอ็นต์ที่อัปเดตแล้วจะเริ่มส่งโทเค็น App Check พร้อมกับคำขอทุกรายการที่ส่งไปยัง Firebase แต่ผลิตภัณฑ์ Firebase จะไม่กำหนดให้โทเค็นต้องถูกต้องจนกว่าคุณจะเปิดใช้การบังคับใช้ในส่วน App Check ของคอนโซล Firebase
ตรวจสอบเมตริกและเปิดใช้การบังคับใช้
อย่างไรก็ตาม ก่อนที่จะเปิดใช้การบังคับใช้ คุณควรตรวจสอบว่าการดำเนินการดังกล่าวจะไม่ รบกวนผู้ใช้ที่ถูกต้องตามกฎหมายที่มีอยู่ ในทางกลับกัน หากคุณเห็นการใช้ทรัพยากรของแอปอย่างน่าสงสัย คุณอาจต้องเปิดใช้การบังคับใช้เร็วขึ้น
หากต้องการช่วยในการตัดสินใจนี้ คุณสามารถดูApp Checkเมตริกสำหรับ บริการที่คุณใช้ได้
- ตรวจสอบApp Checkเมตริกคำขอสำหรับ Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity สำหรับ iOS, Maps JavaScript API และ Places API (ใหม่)
- ตรวจสอบApp Checkเมตริกคำขอสำหรับ Cloud Functions
เปิดใช้การบังคับใช้ App Check
เมื่อเข้าใจว่า App Check จะส่งผลต่อผู้ใช้อย่างไรและพร้อมที่จะดำเนินการต่อแล้ว คุณสามารถเปิดใช้การบังคับใช้ App Check ได้โดยทำดังนี้
- เปิดใช้App Checkการบังคับใช้สำหรับ Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity สำหรับ iOS, Maps JavaScript API และ Places API (ใหม่)
- เปิดใช้การบังคับใช้ App Check สำหรับ Cloud Functions
ใช้ App Check ในสภาพแวดล้อมการแก้ไขข้อบกพร่อง
หากหลังจากลงทะเบียนแอปสำหรับ App Check แล้ว คุณต้องการเรียกใช้แอปในสภาพแวดล้อมที่โดยปกติแล้ว App Check จะไม่จัดประเภทว่าถูกต้อง เช่น ในเครื่องระหว่างการพัฒนา หรือจากสภาพแวดล้อมการรวมอย่างต่อเนื่อง (CI) คุณสามารถสร้างบิลด์การแก้ไขข้อบกพร่องของแอปที่ใช้ผู้ให้บริการแก้ไขข้อบกพร่องของ App Check แทนผู้ให้บริการการรับรองจริงได้
ดูใช้ App Check กับผู้ให้บริการแก้ไขข้อบกพร่องในเว็บแอป