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

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

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

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

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

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

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

  3. Firebase कंसोल में, सुरक्षा > App Check पर जाएं.

  4. ऐप्लिकेशन टैब में, App Check का इस्तेमाल करने के लिए, App Attest की सुविधा देने वाले टूल के साथ अपने ऐप्लिकेशन रजिस्टर करें.

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

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

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

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

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

  1. Firebase की डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift Package Manager का इस्तेमाल करें.

    Xcode में, अपने ऐप्लिकेशन प्रोजेक्ट को खोलें. इसके बाद, फ़ाइल > पैकेज जोड़ें पर जाएं. साथ ही, Firebase Apple प्लैटफ़ॉर्म SDK का रिपॉज़िटरी (https://github.com/firebase/firebase-ios-sdk) जोड़ें और FirebaseAppCheck लाइब्रेरी चुनें.

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

  3. अपने प्रोजेक्ट की .entitlements फ़ाइल में, App Attest एनवायरमेंट को production पर सेट करें.

3. App Check को शुरू करना

Firebase के किसी भी अन्य Firebase SDKs का इस्तेमाल करने से पहले, आपको App Check को शुरू करना होगा.

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

मेट्रिक मॉनिटर करना और लागू करने की सुविधा चालू करना

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

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

लागू करने की सुविधा चालू करनाApp Check

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

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

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

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