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

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

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

अगर आपको सेवा देने वाली अपनी पसंद की कंपनी के साथ App Check का इस्तेमाल करना है, तो देखें पसंद के मुताबिक, App Check सेवा देने वाली कंपनी लागू करें.

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

  1. App Attest का इस्तेमाल करने के लिए, आपके पास Xcode 12.5 या इसके बाद का वर्शन होना चाहिए.

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

  3. App Check का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन रजिस्टर करें इसके App Check सेक्शन में Firebase कंसोल.

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

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

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

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

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

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

    pod 'FirebaseAppCheck'

    इसके अलावा, Swift Package Manager का इस्तेमाल भी किया जा सकता है.

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

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

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

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

3. App Check को शुरू करें

किसी भी दूसरे Firebase का इस्तेमाल करने से पहले आपको App Check शुरू करना होगा 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 लाइब्रेरी इंस्टॉल हो जाने के बाद, को अपडेट किया.

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

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

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

यह फ़ैसला लेने में मदद पाने के लिए, अपनी इस्तेमाल की जा रही सेवाओं के लिए App Check मेट्रिक देखें:

App Check एनफ़ोर्समेंट चालू करना

जब आपको यह समझ में आ जाता है कि App Check आपके उपयोगकर्ताओं पर किस तरह असर डालेगा, तब आप इसके लिए तैयार हैं आगे बढ़ें, तो आप App Check लागू करने के तरीके को चालू कर सकते हैं:

डीबग एनवायरमेंट में App Check का इस्तेमाल करना

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

Apple प्लैटफ़ॉर्म पर, डीबग की सेवा देने वाली कंपनी के साथ App Check का इस्तेमाल करना लेख पढ़ें.