หน้านี้จะแสดงวิธีเปิดใช้ App Check ในแอป iOS เมื่อเปิดใช้แอป ตรวจสอบให้แน่ใจว่าคุณช่วยให้มั่นใจว่ามีเพียงแอปของคุณเท่านั้นที่เข้าถึง OAuth 2.0 ของ Google ได้ ปลายทางในนามของโปรเจ็กต์ ดูภาพรวมของฟีเจอร์นี้
App Check จะใช้ App Attest เพื่อช่วยยืนยันว่า OAuth 2.0 คำขอมาจากแอปที่ถูกต้องของคุณ App Check ไม่ได้ใช้ App Attest เพื่อวิเคราะห์ความเสี่ยงในการฉ้อโกง
ก่อนเริ่มต้น
ตรวจสอบว่าคุณใช้ Xcode 12.5 ขึ้นไป
ผสานรวม Google Sign-In เข้ากับแอป iOS โดยใช้ คลัง Google Sign-In
1. ตั้งค่าโปรเจ็กต์
คุณต้องมีโปรเจ็กต์ Firebase เพื่อใช้ App Check Google Sign-In
หากแอปใช้ Firebase อยู่แล้ว ให้ใช้โปรเจ็กต์เดียวกัน
หากแอปใช้ Google Sign-In แต่ไม่ได้ใช้ Firebase แสดงว่าคุณมี โปรเจ็กต์ Google Cloud เพิ่ม Firebase ลงในโปรเจ็กต์ Google Cloud โดย ให้เลือกคอลัมน์ดังกล่าวเมื่อคุณสร้างโปรเจ็กต์ใหม่ใน คอนโซล Firebase
ดูเพิ่มเติม ความสัมพันธ์ระหว่างโปรเจ็กต์ Firebase กับ Google Cloud
เพิ่มแอป iOS ลงในโปรเจ็กต์ Firebase หากยังไม่ได้เพิ่ม โดยใช้หน้าการตั้งค่าโปรเจ็กต์ของคอนโซล Firebase
ลงทะเบียนแอปเพื่อใช้ App Check กับผู้ให้บริการ App Attest ใน ส่วน App Check ของคอนโซล Firebase
ตรวจสอบว่าไคลเอ็นต์ OAuth ทั้งหมดของโปรเจ็กต์ลิงก์กับแอปแล้ว
หากยกเลิกการลิงก์ไคลเอ็นต์แล้ว คุณจะเห็นข้อความใน Google Identity สำหรับ iOS ของหน้า App Check ที่ระบุว่าคุณมี n ได้ยกเลิกการลิงก์ไคลเอ็นต์ OAuth ซึ่งต้องมีการตั้งค่าเพิ่มเติม
นอกจากนี้ถ้าคุณลบไคลเอ็นต์ OAuth บางโปรแกรมไปหลังจากที่ตั้งค่าแล้ว ใน App Check คุณจะเห็นข้อความแจ้งว่าคุณมี n ลบล้างที่ไม่มีไคลเอ็นต์ OAuth ที่ตรงกัน คุณสามารถล้างไฟล์ได้อย่างปลอดภัยโดย การลบการลบล้างเหล่านั้น
คุณสามารถลิงก์ไคลเอ็นต์ที่ไม่ได้ลิงก์กับแอปที่มีอยู่หรือแอปใหม่ใน หน้าไคลเอ็นต์ OAuth ของคอนโซล Firebase
2. เพิ่มไลบรารีการลงชื่อเข้าใช้ Google รุ่นเบต้าลงในแอป
ในโปรเจ็กต์ 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
ที่สร้างไว้ใน Xcode ให้เพิ่มความสามารถ App Attest ลงในแอป
ในไฟล์
.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 กับผู้ให้บริการแก้ไขข้อบกพร่อง