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

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

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

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

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

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

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

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

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

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

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

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

  • हम जिस पुष्टि करने वाली सेवा का सुझाव देते हैं उसमें से एक, reCAPTCHA Enterprise हर महीने 10,000 से ज़्यादा आकलन के लिए शुल्क लेता है.

    हमारा सुझाव है कि आप reCAPTCHA v3 का इस्तेमाल करें. हालांकि, इसकी एक तय सीमा होती है. तय सीमा के बाद, ट्रैफ़िक का आकलन नहीं किया जाएगा.

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

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

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

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

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

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

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

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

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

तीसरा चरण: Maps JS API लाइब्रेरी लोड करना

  1. नीचे दिए गए स्निपेट में दिखाए गए तरीके से, कोर और Maps लाइब्रेरी लोड करें. ज़्यादा जानकारी और निर्देशों के लिए, Maps JavaScript API का दस्तावेज़ देखें.

    async function init() {
      const {Settings} = await google.maps.importLibrary('core');
      const {Map} = await google.maps.importLibrary('maps');
    }  

चौथा चरण: Maps और App Check API को शुरू करना

  1. Firebase कंसोल से दिए गए कॉन्फ़िगरेशन का इस्तेमाल करके, ऐप्लिकेशन की जांच शुरू करें.
  2. पक्का करें कि Maps JS API के अनुरोधों में, ऐप्लिकेशन की जांच करने वाले टोकन शामिल हों:
      import {initializeApp} from 'firebase/app';
      import {
        getToken,
        initializeAppCheck,
        ReCaptchaEnterpriseProvider,
      } from 'firebase/app-check';
        
      async function init() {
        const {Settings} = await google.maps.importLibrary('core');
        const {Map} = await google.maps.importLibrary('maps');
      
        const app = initializeApp({
          // Your firebase configuration object
        });
      
        // Pass your reCAPTCHA Enterprise site key to initializeAppCheck().
        const appCheck = initializeAppCheck(app, {
          provider: new ReCaptchaEnterpriseProvider(
            'abcdefghijklmnopqrstuvwxy-1234567890abcd',
          ),
      
          // Optional argument. If true, the SDK automatically refreshes App Check
          // tokens as needed.
          isTokenAutoRefreshEnabled: true,
        });
      
        Settings.getInstance().fetchAppCheckToken = () =>
            getToken(appCheck, /* forceRefresh = */ false);
      
        // Load a map
        map = new Map(document.getElementById("map"), {
          center: { lat: 37.4161493, lng: -122.0812166 },
          zoom: 8,
        });
      }  
      

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

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

अपने ऐप्लिकेशन को स्थानीय तौर पर टेस्ट करने के लिए:

  • डेवलपमेंट के लिए, डीबग प्रोवाइडर को चालू करें.
  • आपको SDK के डीबग लॉग से, अपने-आप जनरेट हुआ यूनीक यूआईडी4 (जिसे ऐप्लिकेशन जांच के दस्तावेज़ में _डीबग टोकन_ कहा जाता है) मिलेगा. इस टोकन को Firebase कंसोल में जोड़ें.
  • ज़्यादा जानकारी और निर्देशों के लिए, ऐप्लिकेशन की जांच से जुड़ा दस्तावेज़ देखें.

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

  • Firebase कंसोल से कोई यूनीक यूआरआईडी4 जनरेट करें.
  • UUID4 को डीबग टोकन के तौर पर जोड़ें. इसके बाद, उसे किसी ऐसे सीक्रेट स्टोर में कॉपी करें जिसे हर टेस्ट रन के दौरान सीआई टेस्ट ऐक्सेस करेंगे.
  • ज़्यादा जानकारी और निर्देशों के लिए, ऐप्लिकेशन की जांच से जुड़ा दस्तावेज़ देखें.

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

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

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