توضّح لك هذه الصفحة كيفية تفعيل خدمة App Check في تطبيق iOS. وعند تفعيلها، ستساعد في ضمان أنّ تطبيقك فقط يمكنه الوصول إلى نقاط نهاية OAuth 2.0 من Google نيابةً عن مشروعك. اطّلِع على نظرة عامة حول هذه الميزة.
تستخدم خدمة App Check واجهة برمجة التطبيقات App Attest للمساعدة في التحقّق من أنّ طلبات OAuth 2.0 صادرة من تطبيقك الأصلي، ولكنّها لا تستخدمها لتحليل مخاطر الاحتيال.
قبل البدء
تأكَّد من توفّر Xcode 12.5 أو إصدار أحدث.
يمكنك دمج ميزة "تسجيل الدخول باستخدام حساب Google" في تطبيق iOS باستخدام مكتبة "تسجيل الدخول باستخدام حساب Google".
1. إعداد مشروعك
يمكن تفعيل فحص التطبيقات في وحدة تحكّم Google API أو في وحدة تحكُّم Firebase. ليس من الضروري تفعيلها في كلا المكانين، بل يكفي تفعيلها في مكان واحد.
وحدة تحكّم Google API
يجب استيفاء المتطلبات التالية لتفعيل App Check بنجاح على عميل iOS:- يجب تحديد معرّف فريق لعميل iOS.
- يجب عدم استخدام حرف بدل في معرّف الحزمة لأنّه يمكن أن يؤدي إلى أكثر من تطبيق واحد. وهذا يعني أنّه يجب ألا يتضمّن معرّف الحزمة رمز النجمة (*).
بعد تفعيل فحص التطبيقات، ستبدأ في رؤية مقاييس متعلّقة بطلبات OAuth من عميلك في عرض التعديل الخاص بعميل OAuth. لن يتم حظر الطلبات الواردة من مصادر لم يتم التحقّق منها إلى أن تفرض استخدام فحص التطبيقات. يمكن أن تساعدك المعلومات الواردة في صفحة مراقبة المقاييس في تحديد الوقت المناسب لبدء تنفيذ السياسة.
قد تظهر لك أخطاء متعلّقة بميزة "فحص التطبيق" عند تفعيلها لتطبيق iOS. لحلّ هذه الأخطاء، جرِّب ما يلي:
- تأكَّد من أنّ معرّف الحزمة ومعرّف الفريق اللذين حدّدتهما صالحان.
- تأكَّد من عدم استخدام حرف بدل لمعرّف الحزمة.
وحدة تحكُّم Firebase
يجب أن يكون لديك مشروع على Firebase لاستخدام App Check مع خدمة "تسجيل الدخول باستخدام حساب Google".
إذا كان تطبيقك يستخدم Firebase، استخدِم المشروع نفسه.
إذا كان تطبيقك يستخدم ميزة "تسجيل الدخول باستخدام Google"، ولكن ليس Firebase، سيكون لديك مشروع على Google Cloud. أضِف Firebase إلى مشروعك على Google Cloud من خلال اختياره عند إنشاء مشروع جديد في وحدة تحكّم Firebase.
راجِع أيضًا: العلاقة بين مشاريع Firebase وGoogle Cloud
إذا لم يسبق لك إجراء ذلك، أضِف تطبيقات iOS إلى مشروعك على Firebase باستخدام صفحة إعدادات المشروع في وحدة تحكّم Firebase.
سجِّل تطبيقاتك لاستخدام App Check مع مقدّم خدمة App Attest في قسم App Check ضِمن وحدة تحكّم Firebase.
تأكَّد من ربط جميع عملاء OAuth في مشروعك بتطبيق.
إذا كانت لديك برامج عميلة غير مرتبطة، ستظهر لك رسالة في قسم Google Identity لنظام التشغيل iOS ضمن صفحة App Check تفيد بأنّه "لديك n برنامج عميل غير مرتبط بنظام OAuth ويتطلّب إعدادًا إضافيًا".
بالإضافة إلى ذلك، إذا حذفت بعض عملاء OAuth بعد إعدادهم في App Check، ستظهر لك رسالة تفيد بأنّه "لديك n عمليات إلغاء بدون عميل OAuth مطابق". يمكنك تنظيفها بأمان من خلال حذف عمليات الإلغاء هذه.
يمكنك ربط العملاء غير المرتبطين بتطبيق حالي أو جديد في صفحة عملاء OAuth في وحدة تحكّم Firebase.
2. إضافة مكتبة "تسجيل الدخول باستخدام حساب Google" إلى تطبيقك
في مشروع Xcode، اضبط تبعية "تسجيل الدخول باستخدام Google" على الإصدار
8.0.0أو إصدار أحدث :مدير شركاء استراتيجي
اضبط قاعدة الاعتمادية الخاصة بـ
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)، يمكنك إنشاء إصدار تصحيح أخطاء من تطبيقك يستخدم موفّر تصحيح الأخطاء في App Check بدلاً من App Attest.
اطّلِع على استخدام App Check مع موفّر تصحيح الأخطاء.