เริ่มต้นใช้งาน App Check ด้วย reCAPTCHA Enterprise บนแพลตฟอร์ม Apple

เลือกแพลตฟอร์ม: iOS+ Android เว็บ Flutter


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

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

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

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

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

  2. ในGoogle Cloudคอนโซล ให้ไปที่หน้าการป้องกันการประพฤติมิชอบ และทำดังนี้สำหรับผู้ให้บริการ reCAPTCHA Enterprise

    1. ตรวจสอบว่าคุณอยู่ในโปรเจ็กต์ที่ถูกต้อง (ดูตัวเลือกโปรเจ็กต์ที่ด้านบนของหน้าจอ)

    2. หากได้รับแจ้ง ให้เปิดใช้ reCAPTCHA Enterprise API

    3. สร้างคีย์ประเภท iOS และระบุรหัสชุดของแอป (เช่น com.example.my_app)

      • ตรวจสอบว่าคุณป้อนรหัสชุดเดียวกันกับที่ระบุ เมื่อสร้างแอป Firebase สำหรับ Apple ในโปรเจ็กต์ Firebase ค่ารหัสชุดจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

      • สำหรับ App Check รหัสชุดแต่ละรายการจะสอดคล้องกับคีย์ reCAPTCHA เพียงคีย์เดียวเท่านั้น

      โปรดดูวิธีการโดยละเอียดที่หัวข้อ สร้างคีย์ reCAPTCHA ตามคะแนน

    4. จดคีย์นี้ไว้ คุณจะต้องเพิ่มลงในขั้นตอนการลงทะเบียน ในFirebaseคอนโซล

  3. ในFirebaseคอนโซล ให้ไปที่ความปลอดภัย > App Check

  4. ในแท็บแอป ให้ลงทะเบียนแอปแพลตฟอร์ม Apple เพื่อใช้ App Check กับผู้ให้บริการ reCAPTCHA Enterprise คุณจะต้องระบุคีย์ที่ได้รับในคอนโซล Google Cloud

  5. ไม่บังคับ: ตั้งค่า Time to Live (TTL) ของโทเค็น

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

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

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

  6. ไม่บังคับ: กำหนดค่าการตั้งค่าขั้นสูง

  7. คลิกบันทึก

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

เมื่อผู้ใช้เปิดแอป reCAPTCHA Enterprise จะประเมินระดับความเสี่ยงของการโต้ตอบของผู้ใช้ภายใต้ท่าทางที่สำคัญ และแสดงคะแนนระหว่าง 0.0 ถึง 1.0 โดยเพิ่มขึ้นทีละ 0.1

  • คะแนน 0.0 แสดงว่าการโต้ตอบมีความเสี่ยงสูงและอาจเป็นการฉ้อโกง
  • คะแนน 1.0 แสดงว่าการโต้ตอบมีความเสี่ยงต่ำและมีแนวโน้มสูงที่จะเป็น การโต้ตอบที่ถูกต้อง

App Check ช่วยให้คุณกำหนดค่าเกณฑ์ความเสี่ยงของแอปเพื่อปรับ ระดับการยอมรับความเสี่ยงนี้ได้

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

2. เพิ่ม App Check SDK ลงในแอป

ใช้ Swift Package Manager (SPM) เพื่อติดตั้งและจัดการทรัพยากร Dependency ของ Firebase หากใช้ Firebase อยู่แล้ว ให้ตรวจสอบว่าแพ็กเกจ Firebase เป็น v12.17.0 ขึ้นไป

  1. เปิดโปรเจ็กต์แอปใน Xcode

  2. เพิ่มไลบรารี Firebase โดยทำดังนี้

    1. ไปที่ไฟล์ > เพิ่มแพ็กเกจ

    2. เมื่อได้รับข้อความแจ้ง ให้เพิ่มที่เก็บ SDK ของแพลตฟอร์ม Apple ของ Firebase โดยทำดังนี้

      https://github.com/firebase/firebase-ios-sdk
      
    3. เลือก SDK เวอร์ชันล่าสุด (v12.17.0 ขึ้นไป)

    4. เลือกFirebaseAppCheck คลัง

    5. คลิกเพิ่มแพ็กเกจ Xcode จะแก้ไขและดาวน์โหลดทรัพยากร Dependency

    6. เมื่อได้รับข้อความแจ้ง ให้เพิ่มไลบรารีลงในเป้าหมายแอป

  3. เพิ่มไลบรารี reCAPTCHA Enterprise โดยทำดังนี้

    1. กลับไปที่ไฟล์ > เพิ่มแพ็กเกจ

    2. เมื่อได้รับข้อความแจ้ง ให้เพิ่มที่เก็บ SDK ของ reCAPTCHA Enterprise โดยทำดังนี้

      https://github.com/GoogleCloudPlatform/recaptcha-enterprise-mobile-sdk
      
    3. เลือกRecaptchaEnterprise คลัง

    4. คลิกเพิ่มแพ็กเกจ เมื่อได้รับข้อความแจ้ง ให้เพิ่มไลบรารีลงในเป้าหมายของแอป

3. เริ่มต้น App Check

ในแอป คุณต้องเริ่มต้น App Check ก่อนที่จะใช้บริการอื่นๆ ของ Firebase

สร้างอินสแตนซ์ของ RecaptchaProviderFactory โดยส่งคีย์ reCAPTCHA แล้วกำหนดค่า App Check ให้ใช้คีย์ดังกล่าว

let providerFactory = RecaptchaProviderFactory(siteKey: "SITE_KEY")
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

4. ตรวจสอบเมตริกและเปิดใช้การบังคับใช้

หลังจากตั้งค่า App Check ในแอปแล้ว ให้เริ่มเผยแพร่แอปที่อัปเดตแล้ว แก่ผู้ใช้

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

ตรวจสอบเมตริก

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

หากต้องการช่วยในการตัดสินใจนี้ คุณสามารถดูApp Checkเมตริกสำหรับ บริการที่คุณใช้ได้

เปิดใช้การบังคับใช้ App Check

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

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

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

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

ดูรายละเอียดเพิ่มเติมได้ที่ใช้ App Check กับผู้ให้บริการแก้ไขข้อบกพร่องในแพลตฟอร์มของ Apple

ราคา

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

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