Apple प्लैटफ़ॉर्म पर, App Attest की मदद से App Check का इस्तेमाल शुरू करें

इस पेज में, Apple के ऐप्लिकेशन में ऐप्लिकेशन की जांच की सुविधा को चालू करने का तरीका बताया गया है. इसके लिए, पहले से मौजूद ऐप्लिकेशन की पुष्टि करने वाली सेवा देने वाली कंपनी. ऐप्लिकेशन की जांच करने की सुविधा चालू करके, आप यह पक्का करते हैं कि कि सिर्फ़ आपका ऐप्लिकेशन आपके प्रोजेक्ट के Firebase संसाधनों को ऐक्सेस कर सकता है. देखें एक इस सुविधा की खास जानकारी.

ऐप्लिकेशन की जांच करने की सुविधा, ऐप्लिकेशन अटेस्ट का इस्तेमाल करती है का इस्तेमाल करें. फ़िलहाल, App Check, इन कामों के लिए ऐप्लिकेशन की पुष्टि करने वाली सुविधा का इस्तेमाल नहीं करता धोखाधड़ी के जोखिम का विश्लेषण करना.

अगर आपको सेवा देने वाली अपनी पसंद की कंपनी के साथ, ऐप्लिकेशन की जांच करने की सुविधा का इस्तेमाल करना है, तो यह तरीका देखें पसंद के मुताबिक ऐप्लिकेशन जांच सेवा देने वाली कंपनी लागू करें.

1. अपना Firebase प्रोजेक्ट सेट अप करना

  1. ऐप्लिकेशन प्रमाणित करने की सुविधा का इस्तेमाल करने के लिए, आपको Xcode 12.5 या इसके बाद के वर्शन की ज़रूरत होगी.

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

  3. ऐप्लिकेशन की जांच करने की सुविधा का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन रजिस्टर करें ऐप्लिकेशन की जांच सेक्शन Firebase कंसोल.

    आम तौर पर आपको अपने प्रोजेक्ट के सभी ऐप्लिकेशन को रजिस्टर करना पड़ता है, क्योंकि एक बार Firebase प्रॉडक्ट के लिए नीति उल्लंघन ठीक करने का तरीका (एनफ़ोर्समेंट) चालू करें. सिर्फ़ रजिस्टर किए गए ऐप्लिकेशन का इस्तेमाल करें.

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

    • सुरक्षा: छोटे TTLs मज़बूत सुरक्षा देते हैं, क्योंकि यह ऐसी विंडो जिसके ज़रिए, लीक या इंटरसेप्ट किए गए टोकन का गलत इस्तेमाल किया जा सकता है हमलावर.
    • परफ़ॉर्मेंस: छोटे TTL का मतलब है कि आपका ऐप्लिकेशन ज़्यादा पुष्टि करने की प्रक्रिया करेगा अक्सर. ऐसा इसलिए होता है, क्योंकि ऐप्लिकेशन के प्रमाणित करने की प्रक्रिया से नेटवर्क के लिए इंतज़ार का समय बढ़ जाता है हर बार किए जाने पर अनुरोध करता है, तो छोटा TTL, परफ़ॉर्मेंस पर असर डाल सकता है तीन सबसे सही तरीक़े यहाँ दिए गए हैं.
    • कोटा और लागत: छोटे टीटीएल और बार-बार फिर से पुष्टि करने पर का कोटा ज़्यादा तेज़ हो सकता है. साथ ही, पैसे देकर ली जाने वाली सेवाओं के लिए ज़्यादा पैसे चुकाने पड़ सकते हैं. कोटा और सीमाएं.

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

2. अपने ऐप्लिकेशन में, ऐप्लिकेशन की जांच करने की सुविधा वाली लाइब्रेरी जोड़ना

  1. अपने प्रोजेक्ट के Podfile में, App Check के लिए डिपेंडेंसी जोड़ें:

    pod 'FirebaseAppCheck'

    इसके अलावा, Swift Package Manager का इस्तेमाल करें.

    पक्का करें कि आप किसी दूसरे Firebase SDK टूल के सबसे नए वर्शन का भी इस्तेमाल कर रहे हैं निर्भर करते हैं.

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

  3. Xcode में, अपने ऐप्लिकेशन में ऐप्लिकेशन अटेस्ट सुविधा जोड़ें.

  4. अपने प्रोजेक्ट की .entitlements फ़ाइल में, ऐप्लिकेशन अटेस्ट एनवायरमेंट को इस पर सेट करें production.

3. ऐप्लिकेशन की जांच शुरू करें

कोई भी दूसरा Firebase इस्तेमाल करने से पहले, आपको ऐप्लिकेशन की जांच की सुविधा शुरू करनी होगी SDK टूल.

सबसे पहले, AppCheckProviderFactory को लागू करने का तरीका लिखें. इसकी खास बातें लागू करना, आपके इस्तेमाल के उदाहरण पर निर्भर करेगा.

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

Swift

ध्यान दें: Firebase का यह प्रॉडक्ट, WatchOS टारगेट पर उपलब्ध नहीं है.

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

Objective-C

ध्यान दें: Firebase का यह प्रॉडक्ट, 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 पर वापस:

Swift

ध्यान दें: 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)
    }
  }
}

Objective-C

ध्यान दें: 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:

Swift

ध्यान दें: Firebase का यह प्रॉडक्ट, WatchOS टारगेट पर उपलब्ध नहीं है.

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

FirebaseApp.configure()

Objective-C

ध्यान दें: Firebase का यह प्रॉडक्ट, WatchOS टारगेट पर उपलब्ध नहीं है.

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

[FIRApp configure];

अगले चरण

आपके ऐप्लिकेशन में App Check लाइब्रेरी इंस्टॉल हो जाने के बाद, को अपडेट किया.

अपडेट किया गया क्लाइंट ऐप्लिकेशन, हर Firebase को बनाए जाने का अनुरोध करता है, लेकिन Firebase प्रॉडक्ट के लिए टोकन की ज़रूरत नहीं होगी तब तक मान्य रहेगा, जब तक आप Firebase कंसोल.

मेट्रिक की निगरानी करें और नीति उल्लंघन ठीक करने के तरीके (एनफ़ोर्समेंट) को चालू करें

हालांकि, नीति उल्लंघन ठीक करने के तरीके (एनफ़ोर्समेंट) को चालू करने से पहले, आपको यह पक्का करना चाहिए कि ऐसा करने से उन्हें हल करने में मदद मिलती है. दूसरी ओर, अगर आपको आपके ऐप्लिकेशन के संसाधनों का संदिग्ध तरीके से इस्तेमाल किया है, तो हो सकता है कि आप नीति उल्लंघन ठीक करने के तरीके (एनफ़ोर्समेंट) को चालू करना चाहें तय करें.

यह फ़ैसला लेने में मदद पाने के लिए, आप जो आप उपयोग करते हैं:

ऐप्लिकेशन की जांच लागू करने की सुविधा चालू करें

जब आपको यह समझ में आ जाता है कि ऐप्लिकेशन की जांच किस तरह से आपके उपयोगकर्ताओं पर असर डालेगी, तब आप ये काम करने के लिए तैयार हैं आगे बढ़ें, तो आपके पास ऐप्लिकेशन की जांच के लिए नीति उल्लंघन ठीक करने का तरीका (एनफ़ोर्समेंट) चालू करने का विकल्प है:

डीबग एनवायरमेंट में ऐप्लिकेशन की जांच करने की सुविधा का इस्तेमाल करना

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

Apple के प्लैटफ़ॉर्म पर, डीबग की सेवा देने वाली कंपनी की मदद से, ऐप्लिकेशन की जांच करने की सुविधा का इस्तेमाल करना लेख पढ़ें.