अपनी एपीआई पासकोड को सुरक्षित रखने के लिए, App Check का इस्तेमाल करना

Firebase ऐप्लिकेशन की जांच की सुविधा, आपके ऐप्लिकेशन से Google Maps Platform पर किए जाने वाले कॉल को सुरक्षित रखती है. इसके लिए, यह मान्य ऐप्लिकेशन के अलावा अन्य सोर्स से आने वाले ट्रैफ़िक को ब्लॉक करती है. यह Play Integrity जैसे पुष्टि करने वाले किसी संगठन से मिले टोकन की जांच करके ऐसा करता है. अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करने से, नुकसान पहुंचाने वाले अनुरोधों से बचा जा सकता है. इससे, बिना अनुमति वाले एपीआई कॉल के लिए आपसे शुल्क नहीं लिया जाता.

क्या ऐप्लिकेशन की जांच करने की सुविधा मेरे लिए सही है?

ज़्यादातर मामलों में, ऐप्लिकेशन की जांच करने का सुझाव दिया जाता है. हालांकि, इन मामलों में ऐप्लिकेशन की जांच करने की ज़रूरत नहीं होती या यह काम नहीं करता:

  • आपने ओरिजनल Places SDK का इस्तेमाल किया हो. ऐप्लिकेशन की जांच करने की सुविधा, सिर्फ़ Places SDK (नया) के लिए उपलब्ध है.
  • निजी या प्रयोग के तौर पर इस्तेमाल किए जाने वाले ऐप्लिकेशन. अगर आपका ऐप्लिकेशन सार्वजनिक तौर पर ऐक्सेस नहीं किया जा सकता, तो ऐप्लिकेशन की जांच की ज़रूरत नहीं है.
  • अगर आपके ऐप्लिकेशन का इस्तेमाल सिर्फ़ सर्वर-टू-सर्वर के तौर पर किया जाता है, तो ऐप्लिकेशन की जांच की ज़रूरत नहीं है. हालांकि, अगर GMP के साथ इंटरैक्ट करने वाले सर्वर का इस्तेमाल सार्वजनिक क्लाइंट (जैसे, मोबाइल ऐप्लिकेशन) करते हैं, तो GMP के बजाय उस सर्वर को सुरक्षित रखने के लिए, ऐप्लिकेशन की जांच करने की सुविधा का इस्तेमाल करें.
  • पुष्टि करने वाली सेवा देने वाली उन कंपनियों के साथ, App Check के सुझाए गए पुष्टि करने वाले टूल काम नहीं करेंगे जिन्हें पुष्टि करने वाली सेवा देने वाली कंपनी ने असुरक्षित या भरोसेमंद नहीं माना है. अगर आपको ऐसे डिवाइसों के साथ काम करना है, तो कस्टम पुष्टि करने की सेवा को डिप्लॉय किया जा सकता है. ज़्यादा जानकारी के लिए, निर्देश देखें.

लागू करने के चरणों की खास जानकारी

अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करने के लिए, यह तरीका अपनाएं:

  1. अपने ऐप्लिकेशन में Firebase जोड़ें.
  2. ऐप्लिकेशन की जांच करने वाली लाइब्रेरी जोड़ें और उसे शुरू करें.
  3. टोकन की सेवा देने वाली कंपनी जोड़ें.
  4. डीबग करने की सुविधा चालू करें.
  5. अपने ऐप्लिकेशन के अनुरोधों पर नज़र रखें और नीति उल्लंघन ठीक करने के तरीके पर फ़ैसला लें.

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

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

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

इंटिग्रेशन की योजना बनाते समय, इन बातों का ध्यान रखें:

  • हम पुष्टि करने वाली सेवा देने वाली कंपनी Play Integrity का सुझाव देते हैं. इस कंपनी के स्टैंडर्ड एपीआई के इस्तेमाल के टीयर के लिए, हर दिन कॉल करने की सीमा तय होती है. कॉल की सीमाओं के बारे में ज़्यादा जानकारी के लिए, Google Play Integrity के डेवलपर दस्तावेज़ में सेटअप पेज देखें.

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

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

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

अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करना

ज़रूरी शर्तें

  • ऐसा ऐप्लिकेशन जिसमें Places SDK टूल का 4.1 या उसके बाद का वर्शन इंटिग्रेट किया गया हो.
  • आपके ऐप्लिकेशन का SHA-256 फ़िंगरप्रिंट.
  • आपके ऐप्लिकेशन का पैकेज नाम.
  • यह ज़रूरी है कि आपके पास Cloud Console में ऐप्लिकेशन का मालिकाना हक हो.
  • आपको Cloud Console से ऐप्लिकेशन का प्रोजेक्ट आईडी चाहिए होगा

पहला चरण: अपने ऐप्लिकेशन में Firebase जोड़ना

अपने ऐप्लिकेशन में Firebase जोड़ने के लिए, Firebase डेवलपर दस्तावेज़ में दिए गए निर्देशों का पालन करें.

दूसरा चरण: App Check लाइब्रेरी जोड़ना और App Check को शुरू करना

पुष्टि करने वाली डिफ़ॉल्ट सेवा, Play Integrity का इस्तेमाल करने के बारे में जानने के लिए, Android पर Play Integrity की मदद से, ऐप्लिकेशन की जांच करने की सुविधा का इस्तेमाल शुरू करना लेख पढ़ें.

  1. अगर आपने पहले से अपने ऐप्लिकेशन में Places SDK इंटिग्रेट नहीं किया है, तो अब ऐसा करें.
  2. इसके बाद, ऐप्लिकेशन की जांच और Places क्लाइंट को शुरू करें.

    // Initialize App Check
    FirebaseApp.initializeApp(/*context=*/ this);
    FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
    firebaseAppCheck.installAppCheckProviderFactory(
            PlayIntegrityAppCheckProviderFactory.getInstance());
      
    // Initialize Places SDK
    Places.initializeWithNewPlacesApiEnabled(context, API_KEY);
    PlacesClient client = Places.createClient(context);.

तीसरा चरण: टोकन प्रोवाइडर जोड़ना

Places API को शुरू करने के बाद, PlacesAppCheckTokenProvider सेट करने के लिए setPlacesAppCheckTokenProvider() को कॉल करें.

Places.initializeWithNewPlacesApiEnabled(context, API_KEY);
Places.setPlacesAppCheckTokenProvider(new TokenProvider());
PlacesClient client = Places.createClient(context);.

यहां टोकन फ़ेच करने वाले इंटरफ़ेस को लागू करने का सैंपल दिया गया है:

  /** Sample client implementation of App Check token fetcher interface. */
  static class TokenProvider implements PlacesAppCheckTokenProvider {
    @Override
    public ListenableFuture<String> fetchAppCheckToken() {
      SettableFuture<String> future = SettableFuture.create();
      FirebaseAppCheck.getInstance()
          .getAppCheckToken(false)
          .addOnSuccessListener(
              appCheckToken -> {
                future.set(appCheckToken.getToken());
              })
          .addOnFailureListener(
              ex -> {
                future.setException(ex);
              });

      return future;
    }
  }

चौथा चरण: डीबग करने की सुविधा चालू करना (ज़रूरी नहीं)

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

अपने ऐप्लिकेशन को एम्युलेटर या टेस्ट डिवाइस पर चलाने के लिए:

  • अपनी build.gradle फ़ाइल में, App Check लाइब्रेरी जोड़ें.
  • अपने डीबग बिल्ड में, डीबग प्रोवाइडर फ़ैक्ट्री का इस्तेमाल करने के लिए, App Check को कॉन्फ़िगर करें.
  • ऐप्लिकेशन लॉन्च करें. इससे एक लोकल डीबग टोकन बन जाएगा. इस टोकन को Firebase कंसोल में जोड़ें.
  • ज़्यादा जानकारी और निर्देशों के लिए, App Check का दस्तावेज़ देखें.

अपने ऐप्लिकेशन को सीआई एनवायरमेंट में चलाने के लिए:

  • Firebase कंसोल में डीबग टोकन बनाएं और उसे अपने सीआई सिस्टम के सुरक्षित पासकोड स्टोर में जोड़ें.
  • अपनी build.gradle फ़ाइल में, App Check लाइब्रेरी जोड़ें.
  • डीबग टोकन का इस्तेमाल करने के लिए, अपने सीआई बिल्ड वैरिएंट को कॉन्फ़िगर करें.
  • उन टेस्ट क्लास में कोड रैप करें जिनके लिए DebugAppCheckTestHelper के साथ ऐप्लिकेशन की जांच करने के लिए टोकन की ज़रूरत है.
  • ज़्यादा जानकारी और निर्देशों के लिए, App Check का दस्तावेज़ देखें.

पांचवां चरण: अपने ऐप्लिकेशन के अनुरोधों पर नज़र रखना और नीति उल्लंघन ठीक करने के तरीके तय करना

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

ज़्यादा जानकारी और निर्देशों के लिए, Firebase App Check का दस्तावेज़ देखें.