ऐप्पल प्लेटफ़ॉर्म पर ऐप अटेस्ट के साथ ऐप चेक का उपयोग शुरू करें

यह पृष्ठ आपको दिखाता है कि अंतर्निहित ऐप अटेस्ट प्रदाता का उपयोग करके ऐप्पल ऐप में ऐप चेक को कैसे सक्षम किया जाए। जब आप ऐप चेक सक्षम करते हैं, तो आप यह सुनिश्चित करने में मदद करते हैं कि केवल आपका ऐप ही आपके प्रोजेक्ट के फायरबेस संसाधनों तक पहुंच सकता है। इस सुविधा का अवलोकन देखें.

ऐप चेक यह सत्यापित करने के लिए ऐप अटेस्ट का उपयोग करता है कि फायरबेस सेवाओं के लिए अनुरोध आपके प्रामाणिक ऐप से आ रहे हैं। ऐप चेक वर्तमान में धोखाधड़ी के जोखिम का विश्लेषण करने के लिए ऐप अटेस्ट का उपयोग नहीं करता है।

यदि आप अपने स्वयं के कस्टम प्रदाता के साथ ऐप चेक का उपयोग करना चाहते हैं, तो एक कस्टम ऐप चेक प्रदाता लागू करें देखें।

1. अपना फायरबेस प्रोजेक्ट सेट करें

  1. ऐप अटेस्ट का उपयोग करने के लिए आपको Xcode 12.5+ की आवश्यकता होगी।

  2. यदि आपने पहले से ऐसा नहीं किया है तो अपने Apple प्रोजेक्ट में Firebase जोड़ें

  3. फायरबेस कंसोल के ऐप चेक अनुभाग में ऐप अटेस्ट प्रदाता के साथ ऐप चेक का उपयोग करने के लिए अपने ऐप्स पंजीकृत करें।

    आपको आमतौर पर अपने प्रोजेक्ट के सभी ऐप्स को पंजीकृत करने की आवश्यकता होती है, क्योंकि एक बार जब आप फायरबेस उत्पाद के लिए प्रवर्तन सक्षम कर लेते हैं, तो केवल पंजीकृत ऐप्स ही उत्पाद के बैकएंड संसाधनों तक पहुंच पाएंगे।

  4. वैकल्पिक : ऐप पंजीकरण सेटिंग्स में, प्रदाता द्वारा जारी किए गए ऐप चेक टोकन के लिए एक कस्टम टाइम-टू-लाइव (टीटीएल) सेट करें। आप टीटीएल को 30 मिनट से 7 दिनों के बीच किसी भी मान पर सेट कर सकते हैं। इस मान को बदलते समय, निम्नलिखित ट्रेडऑफ़ से सावधान रहें:

    • सुरक्षा: छोटे टीटीएल मजबूत सुरक्षा प्रदान करते हैं, क्योंकि यह उस विंडो को कम कर देता है जिसमें किसी हमलावर द्वारा लीक या इंटरसेप्ट किए गए टोकन का दुरुपयोग किया जा सकता है।
    • प्रदर्शन: छोटे टीटीएल का मतलब है कि आपका ऐप अधिक बार सत्यापन करेगा। क्योंकि ऐप सत्यापन प्रक्रिया हर बार निष्पादित होने पर नेटवर्क अनुरोधों में विलंबता जोड़ती है, एक छोटा टीटीएल आपके ऐप के प्रदर्शन को प्रभावित कर सकता है।
    • कोटा और लागत: छोटे टीटीएल और बार-बार पुन: सत्यापन से आपका कोटा तेजी से ख़त्म हो जाता है, और सशुल्क सेवाओं के लिए संभावित रूप से अधिक लागत आती है। कोटा और सीमाएँ देखें।

    अधिकांश ऐप्स के लिए 1 घंटे का डिफ़ॉल्ट टीटीएल उचित है। ध्यान दें कि ऐप चेक लाइब्रेरी लगभग आधी टीटीएल अवधि पर टोकन को ताज़ा करती है।

2. ऐप चेक लाइब्रेरी को अपने ऐप में जोड़ें

  1. अपने प्रोजेक्ट के Podfile में ऐप चेक के लिए निर्भरता जोड़ें:

    pod 'FirebaseAppCheck'

    या, वैकल्पिक रूप से, आप इसके बजाय स्विफ्ट पैकेज मैनेजर का उपयोग कर सकते हैं।

    सुनिश्चित करें कि आप किसी अन्य फायरबेस एसडीके के नवीनतम संस्करण का भी उपयोग कर रहे हैं जिस पर आप निर्भर हैं।

  2. pod install चलाएँ और बनाई गई .xcworkspace फ़ाइल खोलें।

  3. Xcode में, अपने ऐप में ऐप अटेस्ट क्षमता जोड़ें।

  4. अपने प्रोजेक्ट की .entitlements फ़ाइल में, ऐप अटेस्ट वातावरण को production पर सेट करें।

3. ऐप चेक आरंभ करें

किसी अन्य फायरबेस एसडीके का उपयोग करने से पहले आपको ऐप चेक आरंभ करना होगा।

सबसे पहले, AppCheckProviderFactory का कार्यान्वयन लिखें। आपके कार्यान्वयन की विशिष्टताएँ आपके उपयोग के मामले पर निर्भर करेंगी।

उदाहरण के लिए, यदि आपके पास केवल iOS 14 और उसके बाद के उपयोगकर्ता हैं, तो आप हमेशा AppAttestProvider ऑब्जेक्ट बना सकते हैं:

तीव्र

नोट: यह फायरबेस उत्पाद watchOS लक्ष्यों पर उपलब्ध नहीं है।

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

उद्देश्य सी

नोट: यह फायरबेस उत्पाद watchOS लक्ष्यों पर उपलब्ध नहीं है।

@interface YourSimpleAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourSimpleAppCheckProviderFactory

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

@end

या, आप iOS 14 और उसके बाद के संस्करण पर AppAttestProvider ऑब्जेक्ट बना सकते हैं, और पिछले संस्करणों पर DeviceCheckProvider पर वापस आ सकते हैं:

तीव्र

नोट: यह फायरबेस उत्पाद 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)
    }
  }
}

उद्देश्य सी

नोट: यह फायरबेस उत्पाद 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 क्लास लागू करने के बाद, इसका उपयोग करने के लिए ऐप चेक को कॉन्फ़िगर करें:

तीव्र

नोट: यह फायरबेस उत्पाद watchOS लक्ष्यों पर उपलब्ध नहीं है।

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

FirebaseApp.configure()

उद्देश्य सी

नोट: यह फायरबेस उत्पाद watchOS लक्ष्यों पर उपलब्ध नहीं है।

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

[FIRApp configure];

अगले कदम

एक बार जब आपके ऐप में ऐप चेक लाइब्रेरी इंस्टॉल हो जाए, तो अपने उपयोगकर्ताओं को अपडेटेड ऐप वितरित करना शुरू करें।

अपडेट किया गया क्लाइंट ऐप फायरबेस को किए गए प्रत्येक अनुरोध के साथ ऐप चेक टोकन भेजना शुरू कर देगा, लेकिन जब तक आप फायरबेस कंसोल के ऐप चेक अनुभाग में प्रवर्तन सक्षम नहीं करते हैं, तब तक फायरबेस उत्पादों को टोकन वैध होने की आवश्यकता नहीं होगी।

मेट्रिक्स की निगरानी करें और प्रवर्तन सक्षम करें

हालाँकि, प्रवर्तन सक्षम करने से पहले, आपको यह सुनिश्चित करना चाहिए कि ऐसा करने से आपके मौजूदा वैध उपयोगकर्ता बाधित नहीं होंगे। दूसरी ओर, यदि आप अपने ऐप संसाधनों का संदिग्ध उपयोग देख रहे हैं, तो आप जल्द ही प्रवर्तन सक्षम करना चाहेंगे।

यह निर्णय लेने में सहायता के लिए, आप अपने द्वारा उपयोग की जाने वाली सेवाओं के लिए ऐप चेक मेट्रिक्स देख सकते हैं:

ऐप जांच प्रवर्तन सक्षम करें

जब आप समझ जाते हैं कि ऐप चेक आपके उपयोगकर्ताओं को कैसे प्रभावित करेगा और आप आगे बढ़ने के लिए तैयार हैं, तो आप ऐप चेक प्रवर्तन सक्षम कर सकते हैं:

डिबग परिवेश में ऐप चेक का उपयोग करें

यदि, अपने ऐप को ऐप चेक के लिए पंजीकृत करने के बाद, आप अपने ऐप को ऐसे वातावरण में चलाना चाहते हैं जिसे ऐप चेक आमतौर पर वैध के रूप में वर्गीकृत नहीं करेगा, जैसे कि विकास के दौरान सिम्युलेटर, या निरंतर एकीकरण (सीआई) वातावरण से, तो आप ऐसा कर सकते हैं अपने ऐप का एक डिबग बिल्ड बनाएं जो वास्तविक सत्यापन प्रदाता के बजाय ऐप चेक डिबग प्रदाता का उपयोग करता है।

Apple प्लेटफ़ॉर्म पर डिबग प्रदाता के साथ ऐप चेक का उपयोग करें देखें।