بدء استخدام App Check لتسجيل الدخول بحساب Google على أجهزة iOS

توضِّح لك هذه الصفحة كيفية تفعيل ميزة "فحص التطبيقات" في أحد تطبيقات iOS. ومن خلال تفعيل ميزة "التحقّق من التطبيقات"، تساعد في ضمان وصول تطبيقك فقط إلى نقاط نهاية OAuth 2.0 في Google بالنيابة عن مشروعك. يمكنك الاطّلاع على نظرة عامة حول هذه الميزة.

تستخدم ميزة "فحص التطبيقات" أداة App Attest للمساعدة في التحقّق من أنّ طلبات OAuth 2.0 تأتي من تطبيقك الأصلي. لا تستخدم ميزة "فحص التطبيقات" App Attest لتحليل مخاطر الاحتيال.

قبل البدء

  1. احرص على تثبيت الإصدار 12.5 من Xcode أو إصدار أحدث.

  2. دمج ميزة "تسجيل الدخول بحساب Google" في تطبيق iOS باستخدام مكتبة تسجيل الدخول بحساب Google

1- إعداد مشروعك

  1. يجب أن يكون لديك مشروع على Firebase لاستخدام ميزة "التحقّق من التطبيقات" من خلال تسجيل الدخول بحساب Google.

    • إذا كان تطبيقك يستخدم Firebase، استخدِم المشروع نفسه.

    • إذا كان تطبيقك يستخدم ميزة "تسجيل الدخول باستخدام حساب Google" وليس باستخدام Firebase، يعني ذلك أنّ لديك مشروعًا على Google Cloud. يمكنك إضافة Firebase إلى مشروعك على Google Cloud من خلال اختياره عند إنشاء مشروع جديد في وحدة تحكُّم Firebase

    راجِع أيضًا: العلاقة بين مشاريع Firebase وGoogle Cloud

  2. أضِف تطبيقات iOS إلى مشروعك في Firebase، إذا لم يسبق لك إجراء ذلك، باستخدام صفحة إعدادات المشروع في وحدة تحكُّم Firebase.

  3. سجِّل تطبيقاتك لاستخدام "فحص التطبيقات" مع موفِّر "مصادقة التطبيقات" في قسم فحص التطبيقات ضمن "وحدة تحكُّم 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:

    مدير شركاء استراتيجي

    اضبط قاعدة التبعية لـ 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، ولكن لن تتطلّب نقاط النهاية أن تكون الرموز المميزة صالحة إلى أن يتم تفعيل التنفيذ في قسم App Check ضمن وحدة تحكم Firebase.

مراقبة المقاييس

ومع ذلك، قبل تفعيل التنفيذ، عليك التأكّد من أنّ ذلك لن يعطل المستخدمين الشرعيين الحاليين. من ناحية أخرى، إذا لاحظت استخدامًا مريبًا لموارد تطبيقك، يمكنك تفعيل إجراءات التنفيذ بشكل أسرع.

للمساعدة في اتخاذ هذا القرار، يمكنك الاطّلاع على مقاييس "فحص التطبيقات" الخاصة بتسجيل الدخول بحساب Google.

تفعيل فرض فحص التطبيقات

عندما تتعرّف على تأثير ميزة "فحص التطبيقات" في المستخدمين وتصبح جاهزًا للمتابعة، يمكنك تفعيل فرض "فحص التطبيقات".

استخدام ميزة "التحقّق من التطبيقات" في بيئات تصحيح الأخطاء

بعد تسجيل تطبيقك في App Check، إذا أردت تشغيل تطبيقك في بيئة لا يصنّفها App Check في العادة، مثل المحاكي أثناء التطوير أو من بيئة دمج متواصل (CI)، يمكنك إنشاء إصدار تصحيح أخطاء لتطبيقك يستخدم موفّر تصحيح أخطاء App Check بدلاً من App Attest.

يُرجى الاطّلاع على مقالة استخدام ميزة "فحص التطبيقات" مع موفِّر تصحيح الأخطاء.