डीबग करने वाली कंपनी के साथ 'ऐप्लिकेशन की जांच' का इस्तेमाल करना

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

सिम्युलेटर में डीबग प्रोवाइडर का इस्तेमाल करना

अपने ऐप्लिकेशन को सिम्युलेटर में इंटरैक्टिव तरीके से चलाते समय डीबग प्रोवाइडर का इस्तेमाल करने के लिए (उदाहरण के लिए, डेवलपमेंट के दौरान), ये काम करें:

  1. Google Cloud Console के एपीआई और सेवाएं सेक्शन में क्रेडेंशियल पेज पर जाकर, अपने प्रोजेक्ट के लिए iOS API पासकोड खोजें.

  2. अपने डीबग बिल्ड में, डीबग प्रोवाइडर का इस्तेमाल करने के लिए, 'ऐप्लिकेशन की जांच' को कॉन्फ़िगर करें. आपको पिछले चरण में मिली एपीआई पासकोड के बारे में बताना होगा.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    
  3. ऐप्लिकेशन लॉन्च करें. जब SDK टूल, बैकएंड को अनुरोध भेजने की कोशिश करेगा, तब स्थानीय डीबग टोकन को Xcode कंसोल में लॉग किया जाएगा. उदाहरण के लिए:

    <Warning> [AppCheckCore][I-GAC004001] App Check debug token:
    '123a4567-b89c-12d3-e456-789012345678'.
    
  4. 'Firebase कंसोल' के ऐप्लिकेशन की जांच सेक्शन में, अपने ऐप्लिकेशन के ओवरफ़्लो मेन्यू से डीबग टोकन मैनेज करें को चुनें. इसके बाद, पिछले चरण में लॉग किए गए डीबग टोकन को रजिस्टर करें.

    डीबग टोकन मैनेज करें मेन्यू आइटम का स्क्रीनशॉट

टोकन को रजिस्टर करने के बाद, Google के OAuth 2.0 एंडपॉइंट, इसे आपके प्रोजेक्ट के लिए मान्य के तौर पर स्वीकार करेंगे.

यह टोकन आपको बिना किसी मान्य डिवाइस के, पुष्टि करने वाले एंडपॉइंट को ऐक्सेस करने देता है. इसलिए, ज़रूरी है कि आप इसे निजी रखें. इसे किसी सार्वजनिक रिपॉज़िटरी (डेटा स्टोर करने की जगह) में शामिल न करें. साथ ही, अगर रजिस्टर किए गए किसी टोकन से कभी छेड़छाड़ की जाती है, तो उसे 'Firebase कंसोल' में जाकर तुरंत रद्द करें.

सीआई एनवायरमेंट में डीबग प्रोवाइडर का इस्तेमाल करना

कंटिन्यूअस इंटिग्रेशन (सीआई) एनवायरमेंट में डीबग प्रोवाइडर का इस्तेमाल करने के लिए, ये काम करें:

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

    यह टोकन, आपके मान्य डिवाइस के बिना, पुष्टि करने वाले एंडपॉइंट को ऐक्सेस करने की अनुमति देता है. इसलिए, इसे निजी बनाए रखना ज़रूरी होता है. इसे किसी सार्वजनिक रिपॉज़िटरी (डेटा स्टोर करने की जगह) में शामिल न करें. साथ ही, अगर रजिस्टर किए गए किसी टोकन से कभी छेड़छाड़ की जाती है, तो उसे 'Firebase कंसोल' में जाकर तुरंत रद्द करें.

    डीबग टोकन मैनेज करें मेन्यू आइटम का स्क्रीनशॉट

  2. अपने सीआई सिस्टम के सुरक्षित कुंजी स्टोर में अभी-अभी बनाया गया डीबग टोकन जोड़ें (उदाहरण के लिए, GitHub की कार्रवाइयों के एन्क्रिप्ट किए गए सीक्रेट या Travis CI के एन्क्रिप्ट किए गए वैरिएबल).

  3. अगर ज़रूरी हो, तो अपना सीआई सिस्टम कॉन्फ़िगर करें, ताकि आपका डीबग टोकन सीआई एनवायरमेंट में एनवायरमेंट वैरिएबल के तौर पर उपलब्ध हो सके. वैरिएबल को APP_CHECK_DEBUG_TOKEN_FROM_CI जैसा कुछ नाम दें.

  4. Xcode में, अपनी टेस्टिंग स्कीम में FIRAAppCheckDebugToken नाम वाला एनवायरमेंट वैरिएबल जोड़ें. साथ ही, इसकी वैल्यू के तौर पर $(APP_CHECK_DEBUG_TOKEN) जैसा कुछ डालें.

  5. डीबग टोकन को एनवायरमेंट वैरिएबल के तौर पर पास करने के लिए, अपनी सीआई टेस्ट स्क्रिप्ट कॉन्फ़िगर करें. उदाहरण के लिए:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. Google Cloud Console के एपीआई और सेवाएं सेक्शन में क्रेडेंशियल पेज पर जाकर, अपने प्रोजेक्ट के लिए iOS API पासकोड खोजें.

  7. अपने डीबग बिल्ड में, डीबग प्रोवाइडर का इस्तेमाल करने के लिए, 'ऐप्लिकेशन की जांच' को कॉन्फ़िगर करें. आपको पिछले चरण में मिली एपीआई पासकोड के बारे में बताना होगा.

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    

जब आपका ऐप्लिकेशन सीआई एनवायरमेंट में चलता है, तो Google के OAuth 2.0 एंडपॉइंट, उस टोकन को स्वीकार करेंगे जिसे वह आपके प्रोजेक्ट के लिए मान्य के तौर पर भेजेगा.