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

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

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

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

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

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

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

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

    • אם האפליקציה כבר משתמשת ב-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 עבור iOS בקטע בדיקת אפליקציה שבו כתוב: יש לך 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

  // ...
}

השלבים הבאים

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

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

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

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

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

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

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

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

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

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