בדף הזה מוסבר איך מפעילים את App Check באפליקציה ל-iOS. הפעלת App Check עוזרת לוודא שרק לאפליקציה שלכם תהיה גישה לנקודות הקצה של OAuth 2.0 של Google בשם הפרויקט. סקירה כללית של התכונה
מערכת App Check משתמשת ב-App Attest כדי לאמת שבקשות OAuth 2.0 מגיעות מהאפליקציה המקורית. מערכת App Check לא משתמשת ב-App Attest כדי לנתח את הסיכון להונאה.
לפני שמתחילים
צריך לוודא שיש לכם Xcode בגרסה 12.5 ואילך.
לשלב את כניסה באמצעות חשבון Google באפליקציה ל-iOS באמצעות הספרייה של כניסה באמצעות חשבון Google.
1. הגדרת הפרויקט
אפשר להפעיל את App Check ב- או במסוף Firebase. אין צורך להפעיל אותו בשני המקומות, מספיק להפעיל אותו במקום אחד.
כדי להפעיל את App Check עבור לקוח iOS, צריך לעמוד בדרישות הבאות:- חובה לציין מזהה צוות ללקוח iOS.
- אסור להשתמש בתווים כלליים לחיפוש במזהה החבילה, כי הם יכולים להוביל ליותר מאפליקציה אחת. כלומר, מזהה החבילה לא יכול לכלול את הסמל של כוכב (*).
אחרי הפעלת App Check, תתחילו לראות מדדים שקשורים לבקשות OAuth מהלקוח שלכם בתצוגת העריכה של לקוח ה-OAuth. בקשות ממקורות לא מאומתים לא ייחסמו עד שתפעילו את אכיפת בדיקת האפליקציות. המידע בדף למעקב אחר המדדים יכול לעזור לכם לקבוע מתי להתחיל לאכוף את המדיניות.
יכול להיות שתראו שגיאות שקשורות לתכונה App Check כשתפעילו את App Check באפליקציה ל-iOS. כדי לתקן את השגיאות האלה, תוכלו לנסות את הפעולות הבאות:
- מוודאים שמזהה החבילה ומזהה הצוות שציינתם תקפים.
- מוודאים שלא משתמשים בתו כללי לחיפוש למזהה החבילה.
מסוף Firebase
כדי להשתמש ב-App Check עם כניסה באמצעות חשבון Google, צריך פרויקט ב-Firebase.
אם כבר משתמשים ב-Firebase באפליקציה, משתמשים באותו פרויקט.
אם באפליקציה שלכם נעשה שימוש בכניסה באמצעות חשבון Google, אבל לא ב-Firebase, כבר יש לכם פרויקט ב-Google Cloud. מוסיפים את Firebase לפרויקט ב-Google Cloud על ידי בחירת האפשרות הזו כשיוצרים פרויקט חדש במסוף Firebase.
למידע נוסף: הקשר בין פרויקטים ב-Firebase לבין Google Cloud
אם עדיין לא עשיתם זאת, מוסיפים את האפליקציות ל-iOS לפרויקט ב-Firebase דרך הדף Project settings (הגדרות הפרויקט) במסוף Firebase.
כדי להשתמש ב-App Check, צריך לרשום את האפליקציות שלכם אצל ספק App Attest בקטע App Check במסוף Firebase.
מוודאים שכל לקוחות ה-OAuth של הפרויקט מקושרים לאפליקציה.
אם יש לכם לקוחות שלא קישרתם, תופיע הודעה בקטע Google Identity for iOS בדף בדיקת האפליקציה עם הכיתוב "יש לכם n לקוחות OAuth שלא קישרתם, שדורשים הגדרה נוספת".
בנוסף, אם מחקתם לקוחות OAuth מסוימים אחרי שהגדרתם אותם ב-App Check, תוצג ההודעה "יש לכם n עקופים ללא לקוח OAuth תואם". אפשר למחוק את השינויים האלה בבטחה.
אפשר לקשר לקוחות לא מקושרים לאפליקציה קיימת או חדשה בדף OAuth clients במסוף Firebase.
2. הוספת הספרייה של כניסה באמצעות חשבון Google לאפליקציה
בפרויקט Xcode, מגדירים את התלות ב-Google Sign-in לגרסה
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, כמו סימולטור במהלך הפיתוח או מסביבת אינטגרציה רציפה (CI), תוכלו ליצור build לניפוי באגים של האפליקציה שמשתמש בספק ניפוי הבאגים של App Check במקום ב-App Attest.