अपनी एपीआई पासकोड को सुरक्षित करने के लिए, 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 टोकन के मान्य रहने की अवधि (टाइम टू लिव या टीटीएल) से, पुष्टि की प्रोसेस की फ़्रीक्वेंसी तय होती है. इस अवधि को 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 को शुरू करने के बाद, setPlacesAppCheckTokenProvider() को कॉल करके, PlacesAppCheckTokenProvider सेट करें.
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 का दस्तावेज़ देखें.