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

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

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

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

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

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

अपने ऐप्लिकेशन को 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 को कॉन्फ़िगर करें.
  • ऐप्लिकेशन को लॉन्च करें. इससे एक लोकल डीबग टोकन बन जाएगा. इस टोकन को Firebase कंसोल में जोड़ें.
  • ज़्यादा जानकारी और निर्देशों के लिए, ऐप्लिकेशन की जांच से जुड़ा दस्तावेज़ देखें.

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

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

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

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

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