เริ่มต้นใช้งาน App Check กับ reCAPTCHA Enterprise ในเว็บแอป

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

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

หากกรณีการใช้งานของคุณต้องใช้ฟีเจอร์ reCAPTCHA Enterprise ที่ App Check ไม่ได้ติดตั้งใช้งาน หรือหากต้องการใช้ App Check กับผู้ให้บริการที่กำหนดเองของคุณเอง โปรดดูติดตั้งใช้งานผู้ให้บริการ App Check ที่กำหนดเอง

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

  1. เพิ่ม Firebase ลงในโปรเจ็กต์ JavaScript หากยังไม่ได้เพิ่ม

  2. เปิดส่วน reCAPTCHA Enterprise ของ Cloud Console แล้วทำดังนี้

    1. หากได้รับแจ้งให้เปิดใช้ reCAPTCHA Enterprise API ให้ดำเนินการตามนั้น
    2. สร้างคีย์ประเภทเว็บไซต์ คุณจะต้องระบุโดเมนที่คุณโฮสต์เว็บแอป ยกเลิกการเลือกตัวเลือก "ใช้การท้าทายแบบช่องทําเครื่องหมาย"
  3. ลงทะเบียนแอปเพื่อใช้ App Check กับผู้ให้บริการ reCAPTCHA Enterprise ในส่วน App Check ของคอนโซล Firebase คุณจะต้องระบุคีย์เว็บไซต์ที่ได้รับใน ขั้นตอนก่อนหน้า

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

  4. ไม่บังคับ: ในการตั้งค่าการลงทะเบียนแอป ให้ตั้งค่า Time-To-Live (TTL) ที่กำหนดเองสำหรับโทเค็น App Check ที่ออกโดยผู้ให้บริการ คุณตั้งค่า TTL เป็นค่าใดก็ได้ระหว่าง 30 นาทีถึง 7 วัน เมื่อเปลี่ยนค่านี้ โปรด คำนึงถึงข้อแลกเปลี่ยนต่อไปนี้

    • ความปลอดภัย: TTL ที่สั้นลงจะช่วยเพิ่มความปลอดภัย เนื่องจากจะลด ช่วงเวลาที่ผู้โจมตีจะใช้โทเค็นที่รั่วไหลหรือถูกดักจับในทางที่ผิดได้
    • ประสิทธิภาพ: TTL ที่สั้นกว่าหมายความว่าแอปจะทำการรับรองบ่อยขึ้น เนื่องจากกระบวนการรับรองแอปจะเพิ่มเวลาในการตอบสนองให้กับคำขอในเครือข่ายทุกครั้งที่ดำเนินการ การตั้งค่า TTL ที่สั้นจึงอาจส่งผลต่อประสิทธิภาพของแอป
    • โควต้าและค่าใช้จ่าย: TTL ที่สั้นลงและการรับรองซ้ำบ่อยๆ จะทำให้โควต้าของคุณหมดเร็วขึ้น และสำหรับบริการแบบชำระเงิน อาจมีค่าใช้จ่ายมากขึ้น ดูโควต้าและขีดจำกัด

    TTL เริ่มต้นของ 1 ชั่วโมง ถือว่าเหมาะสมสำหรับแอปส่วนใหญ่ โปรดทราบว่าApp Checkไลบรารีจะรีเฟรช โทเค็นที่ประมาณครึ่งหนึ่งของระยะเวลา TTL

กำหนดค่าการตั้งค่าขั้นสูง (ไม่บังคับ)

เมื่อผู้ใช้เข้าชมเว็บแอปของคุณ reCAPTCHA Enterprise จะประเมินระดับความเสี่ยงที่การโต้ตอบของผู้ใช้ก่อให้เกิด และแสดงผลคะแนนระหว่าง 0.0 ถึง 1.0 โดยเพิ่มขึ้นทีละ 0.1 คะแนน 1.0 แสดงว่าการโต้ตอบมีความเสี่ยงต่ำ และมีแนวโน้มสูงที่จะถูกต้องตามกฎหมาย ในขณะที่ 0.0 แสดงว่าการโต้ตอบมีความเสี่ยงสูง และอาจเป็นการฉ้อโกง App Check ช่วยให้คุณกำหนดค่าเกณฑ์ความเสี่ยง ของแอป เพื่อปรับระดับความเสี่ยงที่คุณยอมรับได้

สําหรับกรณีการใช้งานส่วนใหญ่ เราขอแนะนําให้ใช้ค่าเกณฑ์เริ่มต้นที่ 0.5 หากกรณีการใช้งานของคุณต้องมีการปรับเปลี่ยน คุณสามารถกำหนดค่าได้ในส่วน App Check ของคอนโซล Firebase สำหรับเว็บแอปแต่ละแอป

รายละเอียด

App Check ใช้เกณฑ์ความเสี่ยงของแอปที่กำหนดค่าไว้เป็นคะแนน reCAPTCHA Enterprise ขั้นต่ำที่จำเป็นสำหรับการโต้ตอบของผู้ใช้จึงจะถือว่าถูกต้อง ระบบจะปฏิเสธคะแนน reCAPTCHA Enterprise ทั้งหมดที่ต่ำกว่าเกณฑ์ที่กำหนดค่าไว้อย่างเคร่งครัด เมื่อปรับเกณฑ์ความเสี่ยงของแอป โปรดคำนึงถึงสิ่งต่อไปนี้

  • จากระดับคะแนน reCAPTCHA Enterprise ที่เป็นไปได้ 11 ระดับ จะมีเพียงระดับคะแนนต่อไปนี้ 4 ระดับเท่านั้นที่ใช้ได้ก่อนที่คุณจะเพิ่มบัญชีการเรียกเก็บเงินของ Google Cloud ลงในโปรเจ็กต์ ได้แก่ 0.1, 0.3, 0.7 และ 0.9 ในช่วงเวลานี้ App Check จะอนุญาตเฉพาะค่าเกณฑ์ความเสี่ยงของแอปที่ 0.1, 0.3, 0.5, 0.7 และ 0.9 เท่านั้น เรายังคงแนะนำให้ใช้ค่าเกณฑ์ความเสี่ยงของแอปที่ 0.5 สำหรับกรณีการใช้งานส่วนใหญ่

    • หากต้องการเปิดใช้คะแนน reCAPTCHA Enterprise ทั้ง 11 ระดับ ให้เพิ่มบัญชีสำหรับการเรียกเก็บเงินของ Google Cloud ลงในโปรเจ็กต์ วิธีหนึ่งในการดำเนินการดังกล่าวคืออัปเกรดเป็นแพ็กเกจราคา Blaze เมื่อดำเนินการดังกล่าวแล้ว App Check จะช่วยให้คุณกำหนดค่าเกณฑ์ความเสี่ยงของแอปได้ระหว่าง 0.0 ถึง 1.0 โดยเพิ่มขึ้นทีละ 0.1

  • หากต้องการตรวจสอบการกระจายคะแนน reCAPTCHA Enterprise สูงและต่ำสำหรับเว็บแอป ให้ไปที่หน้า reCAPTCHA Enterprise ในคอนโซล Google Cloud แล้วเลือกคีย์เว็บไซต์ที่เว็บแอปใช้

  • หากคุณมีระดับการยอมรับความเสี่ยงของแอปต่ำ ให้เลื่อนแถบเลื่อนไปทางซ้ายเพื่อ เพิ่มเกณฑ์ความเสี่ยงของแอป

    • ไม่แนะนำให้ใช้ค่า 1.0 เนื่องจากการตั้งค่านี้อาจปฏิเสธการเข้าถึงของผู้ใช้ที่ถูกต้องซึ่งมีคุณสมบัติไม่ตรงกับเกณฑ์ความน่าเชื่อถือสูงนี้ด้วย
  • หากคุณมีระดับการยอมรับความเสี่ยงของแอปสูง ให้เลื่อนแถบเลื่อนไปทางขวาเพื่อ ลดเกณฑ์ความเสี่ยงของแอป

    • ไม่แนะนำให้ใช้ค่า 0.0 เนื่องจากค่านี้จะปิดใช้การป้องกันการละเมิด

ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบของ reCAPTCHA Enterprise

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

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

ใช้ App Check ในสภาพแวดล้อมการแก้ไขข้อบกพร่อง

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

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

หมายเหตุเกี่ยวกับค่าใช้จ่าย

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

โดยค่าเริ่มต้น เว็บแอปจะรีเฟรชโทเค็นนี้ 2 ครั้งทุกๆ 1 ชั่วโมง หากต้องการควบคุมความถี่ที่แอปรีเฟรชโทเค็น App Check (และด้วยเหตุนี้จึงควบคุมความถี่ในการสร้างการประเมินใหม่) ให้กำหนดค่า TTL