בדף הזה מוסבר איך להפעיל את App Check באפליקציית iOS. כשמפעילים את App Check, מוודאים שרק האפליקציה שלכם יכולה לגשת לנקודות הקצה של OAuth 2.0 של Google בשם הפרויקט שלכם. סקירה כללית של התכונה
App Check משתמש ב-App Attest כדי לאמת שבקשות OAuth 2.0 מגיעות מהאפליקציה המקורית שלכם.App Check לא משתמש ב-App Attest כדי לנתח את הסיכון להונאה.
לפני שמתחילים
מוודאים שמותקנת במחשב גרסה 12.5 ואילך של Xcode.
משלבים כניסה באמצעות חשבון Google באפליקציית iOS באמצעות ספריית הכניסה באמצעות חשבון Google.
1. הגדרת הפרויקט
אפשר להפעיל את App Check ב-Google API Console או במסוף Firebase. אין צורך להפעיל אותו בשני המקומות, מספיק להפעיל אותו רק באחד מהם.
Google API Console
כדי להפעיל בהצלחה את App Check בלקוח iOS, צריך לעמוד בדרישות הבאות:- צריך לציין מזהה צוות עבור לקוח iOS.
- אסור להשתמש בתו כללי במזהה החבילה, כי הוא יכול להתייחס ליותר מאפליקציה אחת. כלומר, מזהה החבילה לא יכול לכלול את הסימן כוכבית (*).
אחרי שמפעילים את App Check, מתחילים לראות מדדים שקשורים לבקשות OAuth מהלקוח בתצוגת העריכה של לקוח OAuth. בקשות ממקורות לא מאומתים לא ייחסמו עד שתפעילו את App Check. המידע בדף 'מעקב אחר מדדים' יכול לעזור לכם לקבוע מתי להתחיל באכיפה.
יכול להיות שיוצגו לכם שגיאות שקשורות לתכונה App Check כשמפעילים את App Check באפליקציית iOS. כדי לתקן את השגיאות האלה, נסו את הפעולות הבאות:
- מוודאים שמזהה החבילה ומזהה הצוות שציינתם תקינים.
- מוודאים שלא משתמשים בתו כללי לחיפוש במזהה החבילה.
מסוף Firebase
כדי להשתמש ב-App Check עם הכניסה באמצעות חשבון Google, צריך פרויקט ב-Firebase.
אם האפליקציה שלכם כבר משתמשת ב-Firebase, צריך להשתמש באותו פרויקט.
אם האפליקציה שלכם משתמשת בכניסה לחשבון Google, אבל לא ב-Firebase, כבר יש לכם פרויקט Google Cloud. מוסיפים את Firebase לפרויקט Google Cloud על ידי בחירה בו כשיוצרים פרויקט חדש במסוף Firebase.
אם עדיין לא עשיתם זאת, תוכלו להוסיף את אפליקציות iOS לפרויקט Firebase באמצעות הדף Project settings (הגדרות הפרויקט) במסוף Firebase.
רושמים את האפליקציות לשימוש ב-App Check עם ספק App Attest בקטע App Check במסוף Firebase.
מוודאים שכל לקוחות ה-OAuth של הפרויקט מקושרים לאפליקציה.
אם יש לכם לקוחות לא מקושרים, תופיע הודעה בקטע Google Identity for iOS בדף App Check: "יש לך n לקוחות OAuth לא מקושרים שדורשים הגדרה נוספת".
בנוסף, אם מחקתם כמה לקוחות OAuth אחרי שהגדרתם אותם בבדיקת האפליקציה, תופיע ההודעה 'יש לך n שינויים שלא תואמים ללקוח OAuth'. כדי לנקות את ההגדרות בצורה בטוחה, אפשר למחוק את ההגדרות שבוטלו.
אפשר לקשר לקוחות לא מקושרים לאפליקציה קיימת או חדשה בדף לקוחות OAuth במסוף Firebase.
2. הוספת ספריית הכניסה לחשבון Google לאפליקציה
בפרויקט Xcode, מגדירים את התלות של הכניסה לחשבון Google לגרסה
8.0.0
ומעלה :SPM (מנהל שותפים אסטרטגי) [רק במופע הראשון צריך להוסיף את העברית בסוגריים]
מגדירים את כלל התלות של
googlesignin-ios
לגרסה8.0.0
או לגרסה מתקדמת יותר.CocoaPods
עדכון של
Podfile
:source 'https://github.com/CocoaPods/Specs.git' source 'https://github.com/firebase/SpecsDev.git' target 'YourAppName' do use_frameworks! pod 'GoogleSignIn','~> 8.0' :git => 'https://github.com/google/GoogleSignIn-iOS.git' 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.
מעקב אחרי מדדים
עם זאת, לפני שמפעילים את האכיפה, צריך לוודא שהפעולה הזו לא תשבש את הפעילות של משתמשים לגיטימיים קיימים. מצד שני, אם אתם רואים שימוש חשוד במשאבי האפליקציה, כדאי להפעיל את האכיפה מוקדם יותר.
כדי לקבל החלטה מושכלת, אפשר לעיין במדדים של בדיקת האפליקציה לכניסה באמצעות חשבון Google.
הפעלת האכיפה של App Check
אחרי שתבינו איך App Check ישפיע על המשתמשים שלכם ותהיו מוכנים להמשיך, תוכלו להפעיל את האכיפה של App Check.
שימוש ב-App Check בסביבות ניפוי באגים
אם אחרי שרושמים את האפליקציה ל-App Check רוצים להפעיל אותה בסביבה ש-App Check בדרך כלל לא מסווג כסביבה תקפה, כמו סימולטור במהלך פיתוח או מסביבת שילוב רציף (CI), אפשר ליצור גרסת debug של האפליקציה שמשתמשת בספק debug של App Check במקום ב-App Attest.
מידע נוסף מופיע במאמר שימוש ב-App Check עם ספק ניפוי הבאגים.