בדף הזה מוסבר איך להפעיל את App Check באפליקציית iOS. כשמפעילים את App Check, מוודאים שרק האפליקציה יכולה לגשת לנקודות הקצה של Google OAuth 2.0 בשם הפרויקט. סקירה כללית של התכונה
השירות App Check משתמש ב-App Attest כדי לוודא שבקשות OAuth 2.0 מגיעות מהאפליקציה המקורית שלכם. השירות App Check לא משתמש ב-App Attest כדי לנתח את הסיכון להונאה.
לפני שמתחילים
מוודאים שמותקנת במחשב גרסה 12.5 ואילך של Xcode.
משלבים כניסה באמצעות חשבון Google באפליקציית iOS באמצעות ספריית הכניסה באמצעות חשבון Google.
1. הגדרת הפרויקט
אפשר להפעיל את App Check ב-Google API Console או ב-Firebase Console. אין צורך להפעיל אותו בשני המקומות, מספיק להפעיל אותו רק באחד מהם.
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 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.
מעקב אחרי מדדים
עם זאת, לפני שמפעילים את האכיפה, צריך לוודא שהפעולה הזו לא תשפיע על משתמשים קיימים לגיטימיים. מצד שני, אם אתם רואים שימוש חשוד במשאבי האפליקציה, כדאי להפעיל את האכיפה מוקדם יותר.
כדי לקבל החלטה מושכלת, אפשר לעיין במדדים של App Check לכניסה באמצעות חשבון Google.
הפעלת האכיפה של App Check
אחרי שתבינו איך App Check ישפיע על המשתמשים שלכם ותהיו מוכנים להמשיך, תוכלו להפעיל את האכיפה של App Check.
שימוש ב-App Check בסביבות ניפוי באגים
אם אחרי שרשמתם את האפליקציה ל-App Check, אתם רוצים להריץ אותה בסביבה ש-App Check בדרך כלל לא מסווג כסביבה תקפה, כמו סימולטור במהלך פיתוח או מסביבת שילוב רציף (CI), אתם יכולים ליצור גרסת debug של האפליקציה שמשתמשת בספק debug של App Check במקום ב-App Attest.
מידע נוסף מופיע במאמר שימוש ב-App Check עם ספק ניפוי הבאגים.