Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Android

अपने API कुंजियों को सुरक्षित रखें: Android ऐप्स के लिए सर्वोत्तम अभ्यास

मान लीजिए कि आप एक वर्जन कंट्रोल सिस्टम का उपयोग कर रहे हैं और आपका प्रोजेक्ट उन सेवाओं का उपयोग करता है जिनके लिए API कुंजियों की आवश्यकता होती है। सब कुछ ठीक है जब वे आपकी स्थानीय मशीन पर होते हैं, लेकिन आप इन API कुंजियों को दुनिया के साथ साझा नहीं करना चाहते।

तो आप अपने एप्लिकेशन के भीतर अपनी API कुंजियों को कैसे संरक्षित रख सकते हैं, लेकिन जब आप अपना कोड अपने रिपॉजिटरी में अपलोड करते हैं तो उन्हें छिपा सकते हैं?

आप शायद अपने एप्लिकेशन के अंदर अपनी API कुंजियों को सामान्य तरीके से उपयोग करने में सक्षम होना चाहते हैं, लेकिन उन्हें उजागर भी नहीं करना चाहते।

सीक्रेट्स क्या हैं?

यहीं सीक्रेट्स आते हैं। उन चीजों के समान जो आप केवल अपने तक रखते हैं, लेकिन एक डेवलपर तरीके से।

सीक्रेट्स महत्वपूर्ण जानकारी का प्रतिनिधित्व कर सकते हैं जो आपके एप्लिकेशन को संचालित करने के लिए आवश्यक है, लेकिन प्रोजेक्ट के बाहर काम करने वाले किसी भी व्यक्ति को दिखाई नहीं देनी चाहिए।

ये API कुंजियाँ या प्राधिकरण टोकन हो सकते हैं, लेकिन संक्षेप में एक सीक्रेट प्राधिकरण जानकारी का कोई भी टुकड़ा है जिसका उपयोग केवल आप और केवल आप द्वारा किया जाना चाहिए। यह इस बात के समान है कि आप अपनी वेबसाइट का पासवर्ड किसी और के साथ साझा नहीं करना चाहते।

🚨 अस्वीकरण: ध्यान रखें कि इस लेख में प्रदान किया गया समाधान आपके वर्जन कंट्रोल सिस्टम से आपके सीक्रेट्स को उजागर नहीं करने के लिए काम करता है। लेकिन चूंकि वे आपके एप्लिकेशन का हिस्सा हैं, उन्हें अभी भी आपके APK को डीकंपाइल करके खोजा जा सकता है।

अपने सीक्रेट्स को सुरक्षित कैसे रखें

आपके प्रोजेक्ट में, आपके प्रोजेक्ट की रूट डायरेक्टरी के तहत एक local.properties फाइल होनी चाहिए

यह सुनिश्चित करने के लिए कि यह आपके वर्जन कंट्रोल सिस्टम द्वारा अनदेखा की जाती है, .gitignore फाइल खोलें और देखें कि यह वहां पाई जाती है:

अपने API कुंजियों को सुरक्षित रखें: Android ऐप्स के लिए सर्वोत्तम अभ्यास

आपको अपने प्रोजेक्ट में Secrets Gradle प्लगइन आयात करने की आवश्यकता होगी।

ऐसा करने के लिए, अपने प्रोजेक्ट के रूट build.gradle फाइल पर जाएं और निम्नलिखित लाइन पेस्ट करें:

buildscript { dependencies { id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false } } 

अगला, अपने ऐप के build.gradle फाइल पर जाएं और निम्नलिखित लाइन पेस्ट करें:

plugins { ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' } 

अपनी API कुंजी को local.properties फाइल के अंदर जोड़ें:

अपने API कुंजियों को सुरक्षित रखें: Android ऐप्स के लिए सर्वोत्तम अभ्यास

आप अपने AndroidManifest.xml फाइल के अंदर एक मेटा-डेटा टैग जोड़कर अपने सीक्रेट का उपयोग कर सकते हैं अपने एप्लिकेशन टैग के अंदर:

<application android:allowBackup="true" ..... > <activity> .... </activity> <meta-data android:name="YOUR_API_KEY_NAME" /// यहां कोई भी मान चुनें android:value="${API_KEY_NAME}"/> /// वह नाम लिखें जो आपने अपनी local.properties फाइल के अंदर दिया था </application> 

अपनी API कुंजी तक पहुंचने के लिए, आप PackageManager का उपयोग करके मेटा डेटा प्राप्त कर सकते हैं:

val applicationInfo: ApplicationInfo = application.packageManager .getApplicationInfo(application.packageName, PackageManager.GET_META_DATA) val apiKey = applicationInfo.metaData["YOUR_API_KEY_NAME"] 

वैकल्पिक रूप से, आप इसे प्राप्त करने के लिए BuildConfig ऑब्जेक्ट का भी उपयोग कर सकते हैं:

BuildConfig.YOUR_API_KEY_NAME 

बस। अब आप निश्चिंत हो सकते हैं कि आपके सीक्रेट्स आपके वर्जन कंट्रोल सिस्टम द्वारा उजागर नहीं किए जाएंगे।

अपने सीक्रेट्स को सुरक्षित रखने का आनंद लें। ㊙️

मैंने इसे अपने हालिया प्रोजेक्ट्स में से एक पर उपयोग किया है, और आप सोर्स कोड (सीक्रेट्स के बिना) यहां देख सकते हैं।

और यदि आप मेरे द्वारा लिखे गए अन्य लेख देखना चाहते हैं, तो आप यहां जा सकते हैं।

मुफ्त में कोड करना सीखें। freeCodeCamp का ओपन सोर्स पाठ्यक्रम 40,000 से अधिक लोगों को डेवलपर्स के रूप में नौकरी पाने में मदद कर चुका है। शुरू करें

  1. विंडोज 10 को PEAP वाई-फाई नेटवर्क प्रमाणीकरण याद रखने के लिए बनाएं विंडोज 10 को PEAP वाई-फाई नेटवर्क प्रमाणीकरण याद रखने के लिए बनाएं

    प्रोटेक्टेड एक्सटेंसिबल ऑथेंटिकेशन प्रोटोकॉल, जिसे PEAP के नाम से जाना जाता है, एक प्रोटोकॉल है जो PEAP पासवर्ड के साथ वायरलेस LAN और पॉइंट-टू-पॉइंट कनेक्शन में सुरक्षा की एक अतिरिक्त परत जोड़ता है। प्रोटोकॉल का उपयोग छोटे-मध्यम आकार के संगठनों के लिए किया जा सकता है और इसे 802.11 WLAN (वायरलेस लोकल

  1. Windows Registry Editor Tips & Features Windows Registry Editor Tips & Features

    आप जहां भी मुड़ते हैं, आपको हर किसी को Registry से दूर रहने के लिए कहते हुए मिलेगा। जबकि मैं एक हद तक इससे सहमत हूं, मुझे एहसास हुआ है कि हम जो बहुत कुछ करते हैं उसमें Registry शामिल होती है चाहे हम इसे जानते हों या नहीं। यदि आप किसी बिंदु पर अपने Windows Operating System को कस्टमाइज़ करना चाहते हैं

  1. विंडोज 11/10 में एलिवेटेड विशेषाधिकार कैसे प्राप्त करें या दें विंडोज 11/10 में एलिवेटेड विशेषाधिकार कैसे प्राप्त करें या दें

    आपने देखा होगा, आपकी मशीन पर अक्सर कई प्रोग्राम इंस्टॉल होते हैं जिन्हें शुरू करने के लिए प्रशासनिक अधिकारों की आवश्यकता होती है। विंडोज 11/10/8/7 में एडमिन अधिकार होने से आप सिस्टम में बदलाव कर सकते हैं, जो अन्य सभी उपयोगकर्ताओं को प्रभावित कर सकते हैं। दूसरे शब्दों में, कोई भी प्रोग्राम जिसे आप एड