अपने एपीआई पासकोड को सुरक्षित रखने के लिए, App Check का इस्तेमाल करना
Firebase App Check, आपके ऐप्लिकेशन से Google Maps Platform पर किए जाने वाले कॉल को सुरक्षित रखता है. इसके लिए, यह उन सोर्स से आने वाले ट्रैफ़िक को ब्लॉक करता है जो मान्य ऐप्लिकेशन नहीं हैं. इसके लिए, यह Play Integrity जैसे किसी अटेस्टेशन प्रोवाइडर से मिले टोकन की जांच करता है. अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करने से, नुकसान पहुंचाने वाले अनुरोधों से सुरक्षा मिलती है. इससे आपको बिना अनुमति वाले एपीआई कॉल के लिए शुल्क नहीं देना पड़ता.
क्या App Check मेरे लिए सही है?
ज़्यादातर मामलों में, App Check का इस्तेमाल करने का सुझाव दिया जाता है. हालांकि, इन मामलों में App Check की ज़रूरत नहीं होती या यह काम नहीं करता:
- ओरिजनल Places SDK का इस्तेमाल किया जा रहा है. App Check की सुविधा सिर्फ़ Places SDK (नया वर्शन) के लिए उपलब्ध है.
- निजी या एक्सपेरिमेंट के तौर पर इस्तेमाल किए जा रहे ऐप्लिकेशन. अगर आपका ऐप्लिकेशन सार्वजनिक तौर पर ऐक्सेस नहीं किया जा सकता, तो App Check की ज़रूरत नहीं है.
- अगर आपके ऐप्लिकेशन का इस्तेमाल सिर्फ़ सर्वर-टू-सर्वर के लिए किया जाता है, तो App Check की ज़रूरत नहीं है. हालांकि, अगर जीएमपी के साथ कम्यूनिकेट करने वाले सर्वर का इस्तेमाल सार्वजनिक क्लाइंट (जैसे, मोबाइल ऐप्लिकेशन) करते हैं, तो जीएमपी के बजाय उस सर्वर को सुरक्षित रखने के लिए App Check का इस्तेमाल करें.
- App Check के सुझाए गए अटेस्टेशन प्रोवाइडर, उन डिवाइसों पर काम नहीं करेंगे जिन्हें आपके अटेस्टेशन प्रोवाइडर ने असुरक्षित या गैर-भरोसेमंद माना है. अगर आपको ऐसे डिवाइसों के लिए सहायता चाहिए, तो पुष्टि करने की कस्टम सेवा को डिप्लॉय किया जा सकता है. ज़्यादा जानकारी के लिए, निर्देश देखें.
लागू करने के चरणों की खास जानकारी
अपने ऐप्लिकेशन को App Check के साथ इंटिग्रेट करने के लिए, आपको यह तरीका अपनाना होगा:
- अपने ऐप्लिकेशन में Firebase जोड़ें.
- App Check लाइब्रेरी को जोड़ें और शुरू करें.
- टोकन की सेवा देने वाली कंपनी को जोड़ें.
- डीबग करने की सुविधा चालू करें.
- अपने ऐप्लिकेशन के अनुरोधों पर नज़र रखें और नीति उल्लंघन ठीक करने के तरीके पर फ़ैसला लें.
App Check के साथ इंटिग्रेट करने के बाद, आपको Firebase कंसोल पर बैकएंड ट्रैफ़िक मेट्रिक दिखेंगी. इन मेट्रिक से, अनुरोधों को इस आधार पर अलग-अलग करके दिखाया जाता है कि उनके साथ मान्य App Check टोकन मौजूद है या नहीं. ज़्यादा जानकारी के लिए, Firebase App Check का दस्तावेज़ देखें.
जब आपको यह पक्का हो जाए कि ज़्यादातर अनुरोध सही सोर्स से आ रहे हैं और उपयोगकर्ताओं ने आपके ऐप्लिकेशन को नए वर्शन में अपडेट कर लिया है, तो नीति उल्लंघन ठीक करने का तरीका चालू किया जा सकता है. नए वर्शन में, App Check को लागू किया गया है. नीति उल्लंघन ठीक करने का तरीका चालू होने के बाद, App Check ऐसे सभी ट्रैफ़िक को अस्वीकार कर देगा जिसके पास मान्य App Check टोकन नहीं है.
App Check इंटिग्रेशन की प्लानिंग करते समय इन बातों का ध्यान रखना ज़रूरी है
इंटिग्रेशन की प्रोसेस शुरू करने से पहले, इन बातों का ध्यान रखें:
हम Play Integrity को अटेस्टेशन प्रोवाइडर के तौर पर इस्तेमाल करने का सुझाव देते हैं. इसके स्टैंडर्ड एपीआई के इस्तेमाल के टीयर के लिए, हर दिन कॉल करने की सीमा तय होती है. कॉल की सीमाओं के बारे में ज़्यादा जानने के लिए, Google Play Integrity के डेवलपर के दस्तावेज़ में सेटअप पेज पर जाएं.
आपके पास कस्टम अटेस्टेशन प्रोवाइडर का इस्तेमाल करने का विकल्प भी है. हालांकि, यह एक ऐडवांस इस्तेमाल का उदाहरण है. ज़्यादा जानकारी के लिए, App Check की सेवा देने वाली कस्टम कंपनी को लागू करना लेख पढ़ें.
-
आपके ऐप्लिकेशन के उपयोगकर्ताओं को, ऐप्लिकेशन के स्टार्टअप में कुछ इंतज़ार करना पड़ेगा. हालांकि, इसके बाद समय-समय पर होने वाली फिर से पुष्टि की प्रोसेस बैकग्राउंड में होगी. साथ ही, उपयोगकर्ताओं को अब इंतज़ार का समय नहीं दिखेगा. स्टार्टअप के समय होने वाली सटीक लेटेंसी, आपके चुने गए अटेस्टेशन प्रोवाइडर पर निर्भर करती है.
App Check टोकन के मान्य रहने की अवधि (टाइम टू लिव या TTL) से यह तय होता है कि फिर से पुष्टि करने की प्रोसेस कितनी बार होगी. इस अवधि को 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 के साथ App Check का इस्तेमाल शुरू करना लेख पढ़ें.
- अगर आपने पहले से ऐसा नहीं किया है, तो अपने ऐप्लिकेशन में Places SDK को इंटिग्रेट करें.
इसके बाद, App Check और 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; } }
चौथा चरण: डीबग करने की सुविधा चालू करना (ज़रूरी नहीं)
अगर आपको अपने ऐप्लिकेशन को स्थानीय तौर पर डेवलप और टेस्ट करना है या उसे लगातार इंटिग्रेशन (सीआई) एनवायरमेंट में चलाना है, तो अपने ऐप्लिकेशन का डीबग बिल्ड बनाया जा सकता है. यह बिल्ड, मान्य App Check टोकन पाने के लिए डीबग सीक्रेट का इस्तेमाल करता है. इससे आपको डीबग के लिए बिल्ड में, पुष्टि करने वाली असली कंपनियों का इस्तेमाल करने से बचने में मदद मिलती है.
अपने ऐप्लिकेशन को किसी एम्युलेटर या टेस्ट डिवाइस पर चलाने के लिए:
- अपनी
build.gradleफ़ाइल में App Check लाइब्रेरी जोड़ें. - अपने डीबग बिल्ड में डीबग प्रोवाइडर फ़ैक्ट्री का इस्तेमाल करने के लिए, App Check को कॉन्फ़िगर करें.
- ऐप्लिकेशन लॉन्च करें. इससे एक लोकल डीबग टोकन बन जाएगा. इस टोकन को Firebase कंसोल में जोड़ें.
- ज़्यादा जानकारी और निर्देशों के लिए, App Check का दस्तावेज़ देखें.
अपने ऐप्लिकेशन को सीआई एनवायरमेंट में चलाने के लिए:
- Firebase कंसोल में डीबग टोकन बनाएं और उसे अपने सीआई सिस्टम के सुरक्षित कीस्टोर में जोड़ें.
- अपनी
build.gradleफ़ाइल में App Check लाइब्रेरी जोड़ें. - डीबग टोकन का इस्तेमाल करने के लिए, सीआई बिल्ड के वैरिएंट को कॉन्फ़िगर करें.
- अपनी टेस्ट क्लास में मौजूद उस कोड को रैप करें जिसके लिए
DebugAppCheckTestHelperके साथ App Check टोकन की ज़रूरत है. - ज़्यादा जानकारी और निर्देशों के लिए, App Check का दस्तावेज़ देखें.
पांचवां चरण: अपने ऐप्लिकेशन के अनुरोधों पर नज़र रखना और नीति उल्लंघन ठीक करने के तरीके के बारे में फ़ैसला लेना
नीति उल्लंघन ठीक करने का तरीका लागू करने से पहले, आपको यह पक्का करना होगा कि आपके ऐप्लिकेशन के मान्य उपयोगकर्ताओं को कोई परेशानी न हो. इसके लिए, App Check की मेट्रिक स्क्रीन पर जाएं और देखें कि आपके ऐप्लिकेशन के ट्रैफ़िक का कितना प्रतिशत हिस्सा पुष्टि किया गया है, पुराना है या अमान्य है. जब आपको लगे कि आपके ज़्यादातर ट्रैफ़िक की पुष्टि हो गई है, तब नीति उल्लंघन ठीक करने का तरीका चालू किया जा सकता है.
ज़्यादा जानकारी और निर्देशों के लिए, Firebase App Check का दस्तावेज़ देखें.