เริ่มต้นใช้งาน App Check สำหรับ Google Sign-In ใน iOS

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

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

ก่อนเริ่มต้น

  1. ตรวจสอบว่าคุณใช้ Xcode 12.5 ขึ้นไป

  2. ผสานรวม Google Sign-In เข้ากับแอป iOS โดยใช้ คลัง Google Sign-In

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

  1. คุณต้องมีโปรเจ็กต์ Firebase เพื่อใช้ App Check Google Sign-In

    • หากแอปใช้ Firebase อยู่แล้ว ให้ใช้โปรเจ็กต์เดียวกัน

    • หากแอปใช้ Google Sign-In แต่ไม่ได้ใช้ Firebase แสดงว่าคุณมี โปรเจ็กต์ Google Cloud เพิ่ม Firebase ลงในโปรเจ็กต์ Google Cloud โดย ให้เลือกคอลัมน์ดังกล่าวเมื่อคุณสร้างโปรเจ็กต์ใหม่ใน คอนโซล Firebase

    ดูเพิ่มเติม ความสัมพันธ์ระหว่างโปรเจ็กต์ Firebase กับ Google Cloud

  2. เพิ่มแอป iOS ลงในโปรเจ็กต์ Firebase หากยังไม่ได้เพิ่ม โดยใช้หน้าการตั้งค่าโปรเจ็กต์ของคอนโซล Firebase

  3. ลงทะเบียนแอปเพื่อใช้ App Check กับผู้ให้บริการ App Attest ใน ส่วน App Check ของคอนโซล Firebase

  4. ตรวจสอบว่าไคลเอ็นต์ OAuth ทั้งหมดของโปรเจ็กต์ลิงก์กับแอปแล้ว

    หากยกเลิกการลิงก์ไคลเอ็นต์แล้ว คุณจะเห็นข้อความใน Google Identity สำหรับ iOS ของหน้า App Check ที่ระบุว่าคุณมี n ได้ยกเลิกการลิงก์ไคลเอ็นต์ OAuth ซึ่งต้องมีการตั้งค่าเพิ่มเติม

    นอกจากนี้ถ้าคุณลบไคลเอ็นต์ OAuth บางโปรแกรมไปหลังจากที่ตั้งค่าแล้ว ใน App Check คุณจะเห็นข้อความแจ้งว่าคุณมี n ลบล้างที่ไม่มีไคลเอ็นต์ OAuth ที่ตรงกัน คุณสามารถล้างไฟล์ได้อย่างปลอดภัยโดย การลบการลบล้างเหล่านั้น

    คุณสามารถลิงก์ไคลเอ็นต์ที่ไม่ได้ลิงก์กับแอปที่มีอยู่หรือแอปใหม่ใน หน้าไคลเอ็นต์ OAuth ของคอนโซล Firebase

2. เพิ่มไลบรารีการลงชื่อเข้าใช้ Google รุ่นเบต้าลงในแอป

  1. ในโปรเจ็กต์ Xcode ให้ตั้งค่าทรัพยากร Dependency ของ Google Sign-In เป็นเวอร์ชัน 7.1.0-fac-beta-1.1.0:

    SPM

    ตั้งค่ากฎทรัพยากร Dependency ของ googlesignin-ios ให้เป็นเวอร์ชันที่ถูกต้อง 7.1.0-fac-beta-1.1.0

    CocoaPods

    อัปเดต Podfile ของคุณ:

    source 'https://github.com/CocoaPods/Specs.git'
    source 'https://github.com/firebase/SpecsDev.git'
    
    target 'YourAppName' do
      use_frameworks!
    
      pod 'GoogleSignIn',
          :git => 'https://github.com/google/GoogleSignIn-iOS.git',
          :tag => '7.1.0-fac-beta-1.1.0'
      pod 'GoogleSignInSwiftSupport'  # If you use SwiftUI.
    end
    

    จากนั้นเรียกใช้ pod install และเปิดไฟล์ .xcworkspace ที่สร้างไว้

  2. ใน Xcode ให้เพิ่มความสามารถ App Attest ลงในแอป

  3. ในไฟล์ .entitlements ของโปรเจ็กต์ ให้ตั้งค่าสภาพแวดล้อม App Attest เป็น production

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

ในเมธอด didFinishLaunchingWithOptions ของผู้มอบสิทธิ์แอป ให้โทร GIDSignIn.sharedInstance.configure(completion:) คุณควรเรียกใช้เมธอดนี้ ให้เร็วที่สุดในวงจรของแอปเพื่อลดเวลาในการตอบสนองที่ผู้ใช้รับรู้

import SwiftUI
import GoogleSignIn

class AppDelegate: NSObject, UIApplicationDelegate {
  func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
  ) -> Bool {
    #if targetEnvironment(simulator)
    // Configure for debugging.
    // See: https://developers.google.com/identity/sign-in/ios/appcheck/debug-provider
    #else
    GIDSignIn.sharedInstance.configure { error in
      if let error {
        print("Error configuring `GIDSignIn` for Firebase App Check: \(error)")
      }
    }
    #endif

    return true
  }
}

@main
struct YourAppNameApp: App {
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  // ...
}

ขั้นตอนถัดไป

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

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

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

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

คุณสามารถดู เมตริก App Check สำหรับ Google Sign-In

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

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

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

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

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