Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

ابدأ باستخدام App Check with App Attest على منصات Apple

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

توضح لك هذه الصفحة كيفية تمكين التحقق من التطبيق في تطبيق Apple ، باستخدام موفر App Attest المدمج. عند تمكين التحقق من التطبيق ، فإنك تساعد في التأكد من أن تطبيقك هو الوحيد الذي يمكنه الوصول إلى موارد Firebase الخاصة بمشروعك. انظر نظرة عامة على هذه الميزة.

يستخدم التحقق من التطبيق App Attest للتحقق من أن الطلبات إلى خدمات Firebase تأتي من تطبيقك الأصلي. لا يستخدم App Check حاليًا App Attest لتحليل مخاطر الاحتيال .

إذا كنت تريد استخدام التحقق من التطبيق مع الموفر المخصص الخاص بك ، فراجع تنفيذ موفر فحص التطبيق المخصص .

1. قم بإعداد مشروع Firebase

  1. ستحتاج إلى Xcode 12.5+ لاستخدام App Attest.

  2. أضف Firebase إلى مشروع Apple الخاص بك إذا لم تكن قد قمت بذلك بالفعل.

  3. سجّل تطبيقاتك لاستخدام App Check مع موفر App Attest في قسم App Check في وحدة تحكم Firebase.

    تحتاج عادةً إلى تسجيل جميع تطبيقات مشروعك ، لأنه بمجرد تمكينك لتطبيق تطبيق Firebase ، ستتمكن التطبيقات المسجلة فقط من الوصول إلى موارد الواجهة الخلفية للمنتج.

  4. اختياري : في إعدادات تسجيل التطبيق ، قم بتعيين وقت مخصص للعيش (TTL) لرموز التحقق من التطبيق الصادرة عن الموفر. يمكنك ضبط TTL على أي قيمة تتراوح بين 30 دقيقة و 7 أيام. عند تغيير هذه القيمة ، انتبه للمفاضلات التالية:

    • الأمان: توفر TTLs الأقصر أمانًا أقوى ، لأنها تقلل الفترة التي يمكن فيها للمهاجم إساءة استخدام رمز تم تسريبه أو اعتراضه.
    • الأداء: تعني فترات البقاء القصيرة (TTL) الأقصر أن تطبيقك سيجري المصادقة بشكل متكرر أكثر. نظرًا لأن عملية التصديق على التطبيق تضيف وقت استجابة لطلبات الشبكة في كل مرة يتم إجراؤها ، يمكن أن تؤثر مدة البقاء القصيرة على أداء تطبيقك.
    • الحصة والتكلفة: تستنفد مدة البقاء القصيرة وإعادة التصديق المتكررة حصتك بشكل أسرع ، وبالنسبة للخدمات المدفوعة ، من المحتمل أن تكلف أكثر. انظر الحصص والحدود .

    مدة البقاء الافتراضية لمدة ساعة واحدة مناسبة لمعظم التطبيقات. لاحظ أن مكتبة App Check تقوم بتحديث الرموز المميزة في حوالي نصف مدة TTL.

2. قم بإضافة مكتبة App Check إلى تطبيقك

  1. أضف تبعية App Check إلى Podfile الخاص بمشروعك:

    pod 'FirebaseAppCheck'

    أو ، بدلاً من ذلك ، يمكنك استخدام Swift Package Manager بدلاً من ذلك.

    تأكد من أنك تستخدم أيضًا أحدث إصدار من أي مجموعات Firebase SDK أخرى تعتمد عليها.

  2. قم بتشغيل pod install وافتح ملف .xcworkspace الذي تم إنشاؤه.

  3. في Xcode ، أضف إمكانية App Attest إلى تطبيقك.

  4. في ملف .entitlements الخاص بمشروعك ، قم بتعيين بيئة App Attest على production .

3. تهيئة فحص التطبيق

ستحتاج إلى تهيئة "التحقق من التطبيق" قبل استخدام أي مجموعات Firebase SDK أخرى.

أولاً ، اكتب تطبيق AppCheckProviderFactory . ستعتمد تفاصيل التنفيذ على حالة الاستخدام الخاصة بك.

على سبيل المثال ، إذا كان لديك مستخدمون فقط على نظام التشغيل iOS 14 والإصدارات الأحدث ، فيمكنك دائمًا إنشاء كائنات AppAttestProvider :

سويفت

ملاحظة: منتج Firebase هذا غير متاح على أهداف watchOS.

class YourSimpleAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
    return AppAttestProvider(app: app)
  }
}

ج موضوعية

ملاحظة: منتج Firebase هذا غير متاح على أهداف watchOS.

@interface YourSimpleAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourSimpleAppCheckProviderFactory

- (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app {
  return [[FIRAppAttestProvider alloc] initWithApp:app];
}

@end

أو يمكنك إنشاء كائنات AppAttestProvider على iOS 14 والإصدارات الأحدث ، والعودة إلى DeviceCheckProvider في الإصدارات السابقة:

سويفت

ملاحظة: منتج Firebase هذا غير متاح على أهداف watchOS.

class YourAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
    if #available(iOS 14.0, *) {
      return AppAttestProvider(app: app)
    } else {
      return DeviceCheckProvider(app: app)
    }
  }
}

ج موضوعية

ملاحظة: منتج Firebase هذا غير متاح على أهداف watchOS.

@interface YourAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourAppCheckProviderFactory

- (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app {
  if (@available(iOS 14.0, *)) {
    return [[FIRAppAttestProvider alloc] initWithApp:app];
  } else {
    return [[FIRDeviceCheckProvider alloc] initWithApp:app];
  }
}

@end

بعد تنفيذ فئة AppCheckProviderFactory ، قم بتكوين App Check لاستخدامها:

سويفت

ملاحظة: منتج Firebase هذا غير متاح على أهداف watchOS.

let providerFactory = YourAppCheckProviderFactory()
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

ج موضوعية

ملاحظة: منتج Firebase هذا غير متاح على أهداف watchOS.

YourAppCheckProviderFactory *providerFactory =
        [[YourAppCheckProviderFactory alloc] init];
[FIRAppCheck setAppCheckProviderFactory:providerFactory];

[FIRApp configure];

الخطوات التالية

بمجرد تثبيت مكتبة App Check في تطبيقك ، ابدأ في توزيع التطبيق المحدث على المستخدمين.

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

مراقبة المقاييس وتمكين الإنفاذ

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

للمساعدة في اتخاذ هذا القرار ، يمكنك الاطلاع على مقاييس التحقق من التطبيقات للخدمات التي تستخدمها:

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

عندما تفهم كيف سيؤثر فحص التطبيق على المستخدمين لديك وأنت مستعد للمتابعة ، يمكنك تمكين فرض التحقق من التطبيق:

استخدام التحقق من التطبيق في بيئات التصحيح

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

راجع استخدام التحقق من التطبيق مع موفر تصحيح الأخطاء على أنظمة Apple الأساسية .