תחילת העבודה עם אפליקציית 'בדיקת אפליקציה' לכניסה באמצעות חשבון Google ב-iOS

בדף הזה מוסבר איך מפעילים בדיקת אפליקציות באפליקציה ל-iOS. כשמפעילים את בדיקת האפליקציות, מבטיחים שרק לאפליקציה תהיה גישה לנקודות קצה מסוג OAuth 2.0 של Google בשם הפרויקט. לעיון בסקירה כללית של התכונה הזו.

התכונה 'בדיקת אפליקציה' משתמשת באימות אפליקציה כדי לאמת שבקשות OAuth 2.0 מגיעות מהאפליקציה האותנטית שלכם. בבדיקת האפליקציה לא נעשה שימוש באימות של אפליקציות כדי לנתח את הסיכון להונאה.

לפני שמתחילים

  1. עליכם לוודא שיש לכם Xcode מגרסה 12.5 ואילך.

  2. משלבים את כניסה באמצעות חשבון Google באפליקציה ל-iOS באמצעות ספריית הכניסה באמצעות חשבון Google.

‫1. הגדרת הפרויקט

  1. כדי להשתמש בבדיקת אפליקציה באמצעות כניסה באמצעות חשבון Google, צריך להיות לכם פרויקט Firebase.

    • אם באפליקציה כבר נעשה שימוש ב-Firebase, צריך להשתמש באותו פרויקט.

    • אם באפליקציה נעשה שימוש בכניסה באמצעות חשבון Google אבל לא ב-Firebase, כבר יש לכם פרויקט ב-Google Cloud. כדי להוסיף את Firebase לפרויקט ב-Google Cloud, מסמנים את הפרויקט במסוף Firebase כשיוצרים פרויקט חדש.

    למידע נוסף: הקשר בין פרויקטים ב-Firebase ל-Google Cloud

  2. אם עדיין לא עשיתם זאת, הוסיפו את האפליקציות ל-iOS לפרויקט Firebase באמצעות הדף Project settings (הגדרות הפרויקט) במסוף Firebase.

  3. רושמים את האפליקציות כדי להשתמש ב-App Check אצל ספק האימות של האפליקציה בקטע App Check במסוף Firebase.

  4. ודאו שכל לקוחות ה-OAuth של הפרויקט שלכם מקושרים לאפליקציה.

    אם ביטלתם את הקישור בין הלקוחות, בקטע Google Identity for iOS בדף App Check תופיע ההודעה יש לך n לקוחות OAuth שאינם מקושרים ושמחייבים הגדרה נוספת.

    בנוסף, אם מחקתם כמה לקוחות OAuth אחרי שהגדרתם אותם ב'בדיקת אפליקציות', תופיע ההודעה: יש לך n שינויים ללא לקוח OAuth תואם. אפשר למחוק בבטחה את השינויים מברירת המחדל.

    אפשר לקשר לקוחות שהקישור שלהם בוטל לאפליקציה קיימת או חדשה בדף לקוחות OAuth במסוף Firebase.

2. כדאי להוסיף לאפליקציה שלך את ספריית הבטא של 'כניסה באמצעות חשבון Google'

  1. בפרויקט Xcode, מגדירים את התלות של כניסה באמצעות חשבון Google לגרסה 7.1.0-fac-beta-1.1.0:

    SPM (מנהל שותפים אסטרטגי) [רק במופע הראשון צריך להוסיף את העברית בסוגריים]

    מגדירים את כלל התלות של 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. הפעלה של בדיקת האפליקציה

בשיטה 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, אפשר להתחיל להפיץ את האפליקציה המעודכנת למשתמשים.

אפליקציית הלקוח המעודכנת תתחיל לשלוח אסימונים של בדיקת אפליקציה יחד עם כל בקשה שהיא תשלח לנקודות הקצה לאימות של Google, אבל נקודות הקצה לא מחייבות שהן יהיו תקפות עד שתפעילו אכיפה בקטע'בדיקת אפליקציות' במסוף Firebase.

מעקב אחר המדדים

עם זאת, לפני שמפעילים אכיפה, חשוב לוודא שהדבר לא יפריע למשתמשים הלגיטימיים הקיימים. מצד שני, אם אתם מבחינים בשימוש חשוד במשאבי האפליקציה, תוכלו להפעיל אכיפה מוקדם יותר.

כדי לקבל את ההחלטה הזו, כדאי לעיין במדדים של בדיקת האפליקציות לכניסה באמצעות חשבון Google.

הפעלת אכיפה של בדיקת אפליקציה

כשתבינו איך בדיקת האפליקציה תשפיע על המשתמשים שלכם, תוכלו להפעיל אכיפה של בדיקת אפליקציה כדי להמשיך בתהליך.

שימוש ב-App Check בסביבות של ניפוי באגים

אם לאחר שרשמתם את האפליקציה ל-App Check, אתם רוצים להריץ את האפליקציה בסביבה שבדרך כלל לא מסווגת כחוקית על ידי App Check, כמו סימולטור במהלך הפיתוח או מסביבת אינטגרציה רציפה (CI), תוכלו ליצור גרסת build לניפוי באגים של האפליקציה שמשתמשת בספק ניפוי הבאגים של App Check במקום ב-App Attest.

כדאי לקרוא את המאמר בנושא שימוש בבדיקת אפליקציה עם ספק ניפוי הבאגים.