Firebase के लिए, एपीआई पासकोड इस्तेमाल और मैनेज करने के बारे में जानें
संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
एपीआई कुंजी एक यूनीक स्ट्रिंग होती है. इसका इस्तेमाल, Firebase और Google की सेवाओं के साथ इंटरैक्ट करते समय, अनुरोधों को आपके Firebase प्रोजेक्ट पर भेजने के लिए किया जाता है. इस पेज पर, एपीआई पासकोड के बारे में बुनियादी जानकारी दी गई है. साथ ही, Firebase ऐप्लिकेशन के साथ एपीआई पासकोड का इस्तेमाल और उन्हें मैनेज करने के सबसे सही तरीके बताए गए हैं.
एपीआई कुंजियों और Firebase के बारे में सामान्य जानकारी
Firebase के लिए एपीआई पासकोड, सामान्य एपीआई पासकोड से अलग होते हैं
आम तौर पर, एपीआई पासकोड का इस्तेमाल जिस तरह से किया जाता है उससे अलग, Firebase सेवाओं के लिए एपीआई पासकोड का इस्तेमाल, बैकएंड संसाधनों के ऐक्सेस को कंट्रोल करने के लिए नहीं किया जाता है. ऐसा सिर्फ़ Firebase Security Rules (यह कंट्रोल करने के लिए कि एंड यूज़र कौनसे संसाधनों को ऐक्सेस कर सकते हैं) और Firebase App Check (यह कंट्रोल करने के लिए कि ऐप्लिकेशन कौनसे संसाधनों को ऐक्सेस कर सकते हैं) के साथ किया जा सकता है.
आम तौर पर, आपको एपीआई कुंजियों की सुरक्षा का पूरा ध्यान रखना होता है. उदाहरण के लिए, वॉल्ट सेवा का इस्तेमाल करके या कुंजियों को एनवायरमेंट वैरिएबल के तौर पर सेट करके. हालांकि, Firebase की सेवाओं के लिए एपीआई कुंजियों को कोड में शामिल किया जा सकता है या कॉन्फ़िगरेशन फ़ाइलों में चेक-इन किया जा सकता है.
Google Cloud कंसोल में एपीआई और सेवाएं > क्रेडेंशियल पैनल में जाकर, अपने प्रोजेक्ट के सभी एपीआई पासकोड देखे और मैनेज किए जा सकते हैं.
आपको यह भी पता चल सकता है कि कौनसी एपीआई पासकोड, किसी Firebase ऐप्लिकेशन से अपने-आप मैच हो गई है. इसके लिए, यहां जाएं. डिफ़ॉल्ट रूप से, आपके प्रोजेक्ट के सभी Firebase ऐप्लिकेशन एक ही प्लैटफ़ॉर्म के लिए (Apple बनाम Android बनाम वेब) एक ही एपीआई कुंजी का इस्तेमाल करेंगे.
Firebase Apple ऐप्लिकेशन — अपने-आप मैच होने वाली एपीआई पासकोड को Firebase कॉन्फ़िगरेशन फ़ाइल, GoogleService-Info.plist में API_KEY फ़ील्ड में ढूंढें.
Firebase Android ऐप्लिकेशन — अपने-आप मैच होने वाली एपीआई कुंजी को Firebase कॉन्फ़िगरेशन फ़ाइल, google-services.json में current_key फ़ील्ड में ढूंढें.
Firebase वेब ऐप्लिकेशन — Firebase कॉन्फ़िगरेशन ऑब्जेक्ट में, अपने-आप मैच होने वाला एपीआई पासकोड ढूंढें. यह apiKey फ़ील्ड में मौजूद होता है.
एपीआई पासकोड का इस्तेमाल करना
Firebase के लिए एपीआई कुंजियों का इस्तेमाल, Firebase या Google की सेवाओं के साथ इंटरैक्ट करते समय आपके Firebase प्रोजेक्ट की पहचान करने के लिए किया जाता है. खास तौर पर, इनका इस्तेमाल
कोटा और बिलिंग के लिए, एपीआई के अनुरोधों को आपके प्रोजेक्ट से जोड़ने के लिए किया जाता है. ये सार्वजनिक डेटा को ऐक्सेस करने के लिए भी काम आते हैं.
ज़्यादातर डेवलपर और इस्तेमाल के उदाहरणों के लिए, आपको इन एपीआई कुंजियों के साथ सीधे तौर पर इंटरैक्ट करने की ज़रूरत नहीं होती. इसके बजाय, जब आपका ऐप्लिकेशन किसी ऐसे Firebase API को कॉल करता है जिसके लिए मोबाइल या वेब क्लाइंट से मिली एपीआई कुंजी की ज़रूरत होती है, तो आपका ऐप्लिकेशन अपने-आप आपके ऐप्लिकेशन के Firebase कॉन्फ़िगरेशन में एपीआई कुंजी खोजेगा. जब आपने अपने ऐप्लिकेशन को Firebase से कनेक्ट किया था, तब यह कॉन्फ़िगरेशन आपके ऐप्लिकेशन के कोडबेस में जोड़ दिया गया था.
ध्यान दें कि Firebase के विकल्पों या एनवायरमेंट वैरिएबल का इस्तेमाल करके, अपने ऐप्लिकेशन में ऐप्लिकेशन की एपीआई कुंजी दी जा सकती है.
इसके अलावा, Firebase सेवाओं के लिए कुछ REST API के लिए, आपको एपीआई कुंजी की वैल्यू को कॉल में क्वेरी पैरामीटर के तौर पर साफ़ तौर पर पास करना पड़ सकता है.
इस उदाहरण में, Firebase Authentication एपीआई का इस्तेमाल करके अनुरोध करने का तरीका बताया गया है:
एपीआई कुंजियों पर सही पाबंदियां लागू करें और उनकी समीक्षा करें (सुझाया गया)
हालांकि, Firebase सेवाओं के लिए एपीआई कुंजी को सीक्रेट के तौर पर रखना ज़रूरी नहीं है, लेकिन आपको इस सेक्शन में बताई गई पाबंदियां और सीमाएं देखनी और लागू करनी चाहिए.
उन एपीआई की समीक्षा करें जिन्हें Firebase API कुंजियों के लिए, अनुमति वाली सूची में अपने-आप जोड़ दिया गया है
जब Firebase आपके प्रोजेक्ट में कोई एपीआई पासकोड बनाता है, तो हम उस पासकोड में "एपीआई से जुड़ी पाबंदियां" अपने-आप जोड़ देते हैं. अनुमति वाली इस सूची में, Firebase से जुड़े ऐसे एपीआई जोड़े जाते हैं जिनके लिए क्लाइंट को कॉल के साथ एपीआई पासकोड देना होता है. ध्यान दें कि Firebase की सेवाओं का इस्तेमाल करने के लिए ज़रूरी ज़्यादातर एपीआई को, आपके एपीआई पासकोड के लिए अनुमति वाली सूची में शामिल करने की ज़रूरत नहीं होती.
Firebase, Firebase की सभी सेवाओं के लिए ज़रूरी एपीआई जोड़ता है. इसलिए, एपीआई कुंजी के लिए अनुमति वाली सूची में ऐसे प्रॉडक्ट के एपीआई शामिल हो सकते हैं जिनका इस्तेमाल नहीं किया जाता.
एपीआई को अनुमति वाली सूची से हटाया जा सकता है. हालांकि, आपको यह पक्का करना होगा कि Firebase और Firebase की उन सेवाओं के लिए ज़रूरी एपीआई न हटाए जाएं जिनका इस्तेमाल किया जा रहा है. इसके लिए, Firebase से जुड़े उन एपीआई की सूची देखें जिन्हें हर सेवा / प्रॉडक्ट के लिए अनुमति वाली सूची में शामिल करना ज़रूरी है. ऐसा न करने पर, Firebase सेवाओं को कॉल करते समय आपको गड़बड़ियां मिलेंगी.
अगर पासवर्ड पर आधारित Authentication का इस्तेमाल किया जाता है, तो कोटा बढ़ाएं
अगर आपने पासवर्ड आधारित Firebase Authentication का इस्तेमाल किया है और किसी व्यक्ति को आपकी एपीआई कुंजी मिल जाती है, तो वह आपके Firebase प्रोजेक्ट के डेटाबेस या Cloud Storage डेटा को ऐक्सेस नहीं कर पाएगा. ऐसा तब तक होगा, जब तक इस डेटा को Firebase Security Rules से सुरक्षित रखा जाता है. हालांकि, वे आपकी एपीआई पासकोड का इस्तेमाल करके, Firebase के पुष्टि करने वाले एंडपॉइंट को ऐक्सेस कर सकते हैं. साथ ही, आपके प्रोजेक्ट के लिए पुष्टि करने के अनुरोध कर सकते हैं.
ऐसा हो सकता है कि कोई व्यक्ति ब्रूट फ़ोर्स अटैक करने के लिए, एपीआई कुंजी का गलत इस्तेमाल करे. इससे बचने के लिए, identitytoolkit.googleapis.com एंडपॉइंट के डिफ़ॉल्ट कोटे को कम किया जा सकता है. इससे आपके ऐप्लिकेशन पर सामान्य ट्रैफ़िक की उम्मीदों को पूरा किया जा सकेगा. ध्यान रखें कि अगर आपने इस कोटे को कम कर दिया है और आपके ऐप्लिकेशन पर अचानक उपयोगकर्ताओं की संख्या बढ़ जाती है, तो आपको साइन-इन करने से जुड़ी गड़बड़ियां मिल सकती हैं. ऐसा तब तक होगा, जब तक आप कोटे को बढ़ा नहीं देते.
Google Cloud कंसोल में जाकर, अपने प्रोजेक्ट के एपीआई कोटा बदले जा सकते हैं.
Firebase के अलावा किसी अन्य सेवा के लिए, अलग से प्रतिबंधित एपीआई कुंजियों का इस्तेमाल करें
आम तौर पर, Firebase सेवाओं के लिए इस्तेमाल किए जाने वाले एपीआई पासकोड को गोपनीय रखने की ज़रूरत नहीं होती. हालांकि, आपको उन एपीआई पासकोड के लिए कुछ अतिरिक्त सावधानियां बरतनी चाहिए जिनका इस्तेमाल अन्य Google Cloud एपीआई के साथ किया जाता है.
अगर किसी ऐसे Google Cloud API का इस्तेमाल किया जाता है जो Firebase सेवा / प्रॉडक्ट के लिए नहीं है, तो हमारा सुझाव है कि उन एपीआई के साथ इस्तेमाल करने के लिए, अलग से एपीआई पासकोड बनाएं. साथ ही, उन पर पाबंदियां लगाएं. अगर एपीआई, बिलिंग वाली Google Cloud सेवा के लिए है, तो यह खास तौर पर ज़रूरी है.
उदाहरण के लिए, अगर iOS पर Firebase ML और Cloud Vision API का इस्तेमाल किया जाता है, तो आपको अलग-अलग एपीआई पासकोड बनाने चाहिए. इनका इस्तेमाल सिर्फ़ Cloud Vision API को ऐक्सेस करने के लिए किया जाना चाहिए.
Firebase के अलावा अन्य एपीआई के लिए, पाबंदियों वाली अलग-अलग एपीआई कुंजियों का इस्तेमाल करके, ज़रूरत पड़ने पर कुंजियों को रोटेट या बदला जा सकता है. साथ ही, Firebase सेवाओं के इस्तेमाल में कोई रुकावट डाले बिना, एपीआई कुंजियों पर अतिरिक्त पाबंदियां लगाई जा सकती हैं.
एपीआई के लिए खास पासकोड बनाने से जुड़े निर्देश देखें
इन निर्देशों में, Super Service API नाम के फ़र्ज़ी एपीआई के लिए, अलग से सीमित एपीआई पासकोड बनाने का तरीका बताया गया है.
पहला चरण: Super Service API को ऐक्सेस करने की अनुमति न देने के लिए, अपने मौजूदा एपीआई पासकोड कॉन्फ़िगर करना
Google Cloud कंसोल के क्रेडेंशियल पेज को खोलें. जब कहा जाए, तब अपना प्रोजेक्ट चुनें.
सूची में मौजूद हर मौजूदा एपीआई पासकोड के लिए, बदलाव करने का व्यू खोलें.
एपीआई से जुड़ी पाबंदियां सेक्शन में, कुंजी पर पाबंदी लगाएं को चुनें. इसके बाद, उन सभी एपीआई को सूची में जोड़ें जिनका ऐक्सेस आपको एपीआई कुंजी को देना है. पक्का करें कि आपने उस एपीआई को शामिल न किया हो जिसके लिए आपको अलग एपीआई पासकोड बनाना है. इस उदाहरण में, Super Service API को शामिल नहीं किया गया है.
किसी एपीआई कुंजी के लिए एपीआई से जुड़ी पाबंदियां कॉन्फ़िगर करते समय, आपको उन एपीआई के बारे में साफ़ तौर पर बताना होता है जिन्हें कुंजी ऐक्सेस कर सकती है. डिफ़ॉल्ट रूप से, जब एपीआई से जुड़ी पाबंदियां सेक्शन में कुंजी पर पाबंदी न लगाएं विकल्प चुना जाता है, तब एपीआई कुंजी का इस्तेमाल, प्रोजेक्ट के लिए चालू किए गए किसी भी एपीआई को ऐक्सेस करने के लिए किया जा सकता है.
अब आपकी मौजूदा एपीआई कुंजियों से Super Service API का ऐक्सेस नहीं मिलेगा. हालांकि, हर कुंजी उन सभी एपीआई के लिए काम करती रहेगी जिन्हें आपने उसकी एपीआई से जुड़ी पाबंदियां सूची में जोड़ा है.
दूसरा चरण: Super Service API को ऐक्सेस करने के लिए, नई एपीआई कुंजी बनाएं और उसका इस्तेमाल करें
क्रेडेंशियल पेज पर वापस जाएं. पक्का करें कि आपका Firebase प्रोजेक्ट अब भी चुना गया हो.
क्रेडेंशियल बनाएं > एपीआई पासकोड पर क्लिक करें. नए एपीआई पासकोड को नोट करें. इसके बाद, कुंजी को सीमित करें पर क्लिक करें.
एपीआई से जुड़ी पाबंदियां सेक्शन में, कुंजी पर पाबंदी लगाएं को चुनें. इसके बाद, सूची में सिर्फ़Super Service API जोड़ें.
इस नई एपीआई कुंजी से, सिर्फ़ Super Service API को ऐक्सेस किया जा सकता है.
नई एपीआई कुंजी का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन और सेवाओं को कॉन्फ़िगर करें.
एनवायरमेंट के हिसाब से एपीआई पासकोड इस्तेमाल करना (सुझाया गया)
अगर आपने अलग-अलग एनवायरमेंट, जैसे कि स्टेजिंग और प्रोडक्शन के लिए अलग-अलग Firebase प्रोजेक्ट सेट अप किए हैं, तो यह ज़रूरी है कि हर ऐप्लिकेशन इंस्टेंस, अपने Firebase प्रोजेक्ट से इंटरैक्ट करे. उदाहरण के लिए, आपके स्टेजिंग ऐप्लिकेशन इंस्टेंस को कभी भी प्रोडक्शन Firebase प्रोजेक्ट से कम्यूनिकेट नहीं करना चाहिए. इसका यह भी मतलब है कि आपके स्टेजिंग ऐप्लिकेशन को, स्टेजिंग Firebase प्रोजेक्ट से जुड़े एपीआई कुंजियों का इस्तेमाल करना होगा.
डेवलपमेंट से लेकर स्टेजिंग और प्रोडक्शन तक, कोड में किए गए बदलावों को प्रमोट करने से जुड़ी समस्याओं को कम करने के लिए, कोड में एपीआई कुंजियां शामिल करने के बजाय, उन्हें एनवायरमेंट वैरिएबल के तौर पर सेट करें या उन्हें कॉन्फ़िगरेशन फ़ाइल में शामिल करें.
ध्यान दें कि अगर आपको डेवलपमेंट के लिए Firebase Local Emulator Suite के साथ-साथ Firebase ML का इस्तेमाल करना है, तो आपको सिर्फ़ डीबग करने के लिए एपीआई पासकोड बनाना और उसका इस्तेमाल करना होगा. इस तरह की कुंजी बनाने के निर्देश, Firebase ML दस्तावेज़ में दिए गए हैं.
अक्सर पूछे जाने वाले सवाल और समस्या हल करना
अक्सर पूछे जाने वाले सवाल
क्या Firebase सेवाओं के लिए एपीआई पासकोड पर डिफ़ॉल्ट रूप से पाबंदी लगी होती है?
हां, डिफ़ॉल्ट रूप से, Firebase से जुड़े एपीआई के साथ इस्तेमाल करने के लिए, Firebase अपने-आप सभी एपीआई कुंजियां उपलब्ध कराता है. इन सभी कुंजियों पर "एपीआई से जुड़ी पाबंदियां" अपने-आप लागू हो जाती हैं. इस अनुमति वाली सूची में शामिल, Firebase से जुड़े एपीआई की सूची देखें.
इस अनुमति वाली सूची में जोड़े गए एपीआई, क्लाइंट-कोड से Firebase सेवाओं के ज़रिए कॉल किए जाते हैं. साथ ही, इन्हें आपके Firebase प्रोजेक्ट या ऐप्लिकेशन की पहचान करने के लिए एपीआई पासकोड की ज़रूरत होती है. ध्यान दें कि Firebase सेवाओं का इस्तेमाल करने के लिए ज़रूरी ज़्यादातर एपीआई को, आपके एपीआई पासकोड के लिए अनुमति वाली सूची में शामिल करने की ज़रूरत नहीं होती.
Firebase, Firebase की सभी सेवाओं के लिए ज़रूरी एपीआई जोड़ता है. इसलिए, एपीआई कुंजी के लिए अनुमति वाली सूची में ऐसे प्रॉडक्ट के एपीआई शामिल हो सकते हैं जिनका इस्तेमाल नहीं किया जाता. आपके पास अनुमति वाली सूची से एपीआई हटाने का विकल्प होता है. हालांकि, आपको यह पक्का करना होगा कि आपने Firebase और Firebase की उन सेवाओं के लिए ज़रूरी एपीआई न हटाए हों जिनका इस्तेमाल किया जाता है. Firebase से जुड़े उन एपीआई की सूची देखें जिन्हें हर सेवा / प्रॉडक्ट के लिए अनुमति वाली सूची में शामिल करना ज़रूरी है. ऐसा न करने पर, Firebase सेवाओं को कॉल करते समय आपको गड़बड़ियां मिलेंगी.
Google Cloud कंसोल में, एपीआई और सेवाएं > क्रेडेंशियल पैनल में जाकर, अपने सभी एपीआई पासकोड और उन पर लगी "एपीआई पाबंदियां" देखी जा सकती हैं.
Firebase, "एपीआई से जुड़ी पाबंदियां" कैसे लागू करता है, इसके बारे में यहां बताया गया है:
मई 2024 से, Firebase की ओर से अपने-आप उपलब्ध कराए गए सभी नए एपीआई कुंजियां, Firebase से जुड़े एपीआई की सूची के लिए अपने-आप सीमित हो जाएंगी.
मई 2024 के दौरान, Firebase ने पहले से मौजूद और बिना किसी पाबंदी वाले सभी एपीआई कुंजियों को अपने-आप उपलब्ध कराया था. अब इन कुंजियों को Firebase से जुड़े एपीआई की सूचीके साथ-साथ प्रोजेक्ट के लिए फ़िलहाल चालू किए गए किसी भी एपीआई के लिए इस्तेमाल किया जा सकता है.
Firebase ने जिन मौजूदा और पहले से प्रतिबंधित एपीआई कुंजियों को पहले अपने-आप उपलब्ध कराया था उनमें कोई बदलाव नहीं किया गया.
Firebase ने जिन मौजूदा एपीआई कुंजियों को अपने-आप उपलब्ध नहीं कराया था उनमें कोई बदलाव नहीं किया गया.
मुझे कैसे पता चलेगा कि मेरे Firebase ऐप्लिकेशन से कौनसी एपीआई कुंजी जुड़ी है?
यह पता लगाने के लिए कि आपके Firebase ऐप्लिकेशन से कौनसी एपीआई कुंजी जुड़ी है, इनमें से किसी भी विकल्प का इस्तेमाल किया जा सकता है:
Firebase कंसोल
settingsप्रोजेक्ट की सेटिंग पर जाएं. इसके बाद, नीचे की ओर स्क्रोल करके आपके ऐप्लिकेशन कार्ड पर जाएं.
अपनी पसंद का ऐप्लिकेशन चुनें.
जिस ऐप्लिकेशन के लिए आपको एपीआई पासकोड चाहिए उसकी Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट पाएं. इसके बाद, उसका एपीआई पासकोड ढूंढें:
Apple: GoogleService-Info.plist डाउनलोड करें. इसके बाद, API_KEY फ़ील्ड ढूंढें
Android: google-services.json डाउनलोड करें. इसके बाद, जिस ऐप्लिकेशन के लिए कॉन्फ़िगरेशन ढूंढना है उसका पैकेज नाम ढूंढें. इसके बाद, current_key फ़ील्ड ढूंढें
वेब: कॉन्फ़िगरेशन विकल्प चुनें. इसके बाद, apiKey फ़ील्ड ढूंढें
Firebase सीएलआई
यहां दिया गया कमांड चलाकर, अपने पसंदीदा ऐप्लिकेशन के लिए Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट पाएं:
firebase apps:sdkconfig PLATFORMFIREBASE_APP_ID
PLATFORM (इनमें से एक): IOS | ANDROID | WEB
FIREBASE_APP_ID: यह आपके Firebase ऐप्लिकेशन के लिए, Firebase की ओर से असाइन किया गया यूनीक आइडेंटिफ़ायर है (अपना ऐप्लिकेशन आईडी ढूंढें)
ऐप्लिकेशन के प्रिंट किए गए Firebase कॉन्फ़िगरेशन में, उसकी एपीआई कुंजी ढूंढें:
Apple: API_KEY फ़ील्ड ढूंढें
Android: अपनी पसंद के ऐप्लिकेशन का कॉन्फ़िगरेशन ढूंढें. इसके लिए, उसका पैकेज का नाम देखें. इसके बाद, current_key फ़ील्ड ढूंढें
वेब: apiKey फ़ील्ड ढूंढें
REST API
जिस ऐप्लिकेशन के लिए आपको एपीआई कुंजी का इस्तेमाल करना है उसके लिए, लागू होने वाले एंडपॉइंट को कॉल करके, एपीआई कुंजी का apiKeyId (यूआईडी) पाएं. इसके बाद, अगले चरण में apiKeyId की वैल्यू पास करें.
यह keyString वही वैल्यू है जो ऐप्लिकेशन के कॉन्फ़िगरेशन आर्टफ़ैक्ट (Apple | Android | वेब) में मिलती है.
क्या मेरे पास Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में, एक ही Firebase ऐप्लिकेशन के लिए दो एपीआई कुंजियां लिस्ट करने का विकल्प है?
Firebase Apple ऐप्लिकेशन — हर ऐप्लिकेशन की अपनी कॉन्फ़िगरेशन फ़ाइल होती है. साथ ही, इसमें सिर्फ़ एक एपीआई कुंजी शामिल की जा सकती है.
Firebase का इस्तेमाल करके बनाए गए Android ऐप्लिकेशन — Firebase प्रोजेक्ट में मौजूद सभी Android ऐप्लिकेशन, एक ही कॉन्फ़िगरेशन फ़ाइल में शामिल होते हैं. साथ ही, हर ऐप्लिकेशन के लिए, सिर्फ़ एक एपीआई कुंजी शामिल की जा सकती है. हालांकि, इस कॉन्फ़िगरेशन फ़ाइल में मौजूद हर ऐप्लिकेशन के लिए, अलग-अलग कुंजियां दी जा सकती हैं.
Firebase वेब ऐप्लिकेशन — हर ऐप्लिकेशन का अपना कॉन्फ़िगरेशन ऑब्जेक्ट होता है. साथ ही, इसमें सिर्फ़ एक एपीआई कुंजी दिखती है.
हालांकि, एक ऐप्लिकेशन के साथ एक से ज़्यादा एपीआई पासकोड इस्तेमाल किए जा सकते हैं. आपको अपने ऐप्लिकेशन को इन अन्य एपीआई कुंजियों को ऐक्सेस करने का तरीका बताना होगा. जैसे, एनवायरमेंट वैरिएबल के ज़रिए. अन्य एपीआई कुंजियों को ऐक्सेस करने का तरीका, इस बात पर निर्भर नहीं होना चाहिए कि वे एपीआई कुंजियां आपकी Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में शामिल हैं या नहीं.
Firebase को यह कैसे पता चलता है कि किस ऐप्लिकेशन के लिए कौनसी एपीआई कुंजी का इस्तेमाल करना है (जैसे, Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में)?
अगर Firebase को मेल खाने वाली कोई भी प्रतिबंधित कुंजी नहीं मिलती है, तो वह कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में, Apple ऐप्लिकेशन के लिए iOS key, Android ऐप्लिकेशन के लिए Android key, और वेब ऐप्लिकेशन के लिए Browser key को सूची में शामिल करेगा. ऐसा तब होगा, जब ये कुंजियां मौजूद हों और इन पर "ऐप्लिकेशन से जुड़ी पाबंदियां" न लगी हों. इन पाबंदियों की वजह से, ये कुंजियां उस ऐप्लिकेशन से मेल नहीं खाती हैं.
क्या Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट से एपीआई पासकोड और फ़ील्ड को मैन्युअल तरीके से मिटाया जा सकता है?
हां, कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट से अपनी एपीआई कुंजी को मैन्युअल तरीके से मिटाया जा सकता है. हालांकि,
आपको अपने ऐप्लिकेशन के लिए, एपीआई कुंजी को ऐक्सेस करने का कोई दूसरा तरीका उपलब्ध कराना होगा
(जैसे कि एनवायरमेंट वैरिएबल के ज़रिए). इसके अलावा, Firebase सेवाओं को किए गए सभी कॉल कनेक्ट नहीं हो पाएंगे.
क्या अलग-अलग एपीआई कुंजियों की मदद से, Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट को मैन्युअल तरीके से बदला जा सकता है?
हां, किसी ऐप्लिकेशन के साथ कोई दूसरी एपीआई कुंजी जोड़ने के लिए, कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में मैन्युअल तरीके से बदलाव किया जा सकता है.
क्या किसी एपीआई पासकोड को एक Firebase प्रोजेक्ट से दूसरे Firebase प्रोजेक्ट में ट्रांसफ़र किया जा सकता है?
नहीं, एपीआई कुंजी सिर्फ़ किसी प्रोजेक्ट की पहचान करती है और इसे किसी दूसरे प्रोजेक्ट में ट्रांसफ़र नहीं किया जा सकता.
अगर मैं Google Cloud कंसोल में मौजूद किसी एपीआई पासकोड को मिटा दूं, तो क्या होगा?
अगर आपने किसी ऐसे एपीआई कुंजी को मिटा दिया है जिसका इस्तेमाल कोई ऐप्लिकेशन कर रहा है, तो उस ऐप्लिकेशन से एपीआई कॉल नहीं हो पाएंगे. आपको ऐसी रिपोर्ट, ईमेल या गड़बड़ियां मिल सकती हैं जिनमें बताया गया हो कि आपने अमान्य एपीआई पासकोड का इस्तेमाल करने की कोशिश की है.
एपीआई पासकोड को मिटाने के बाद, उसे वापस नहीं लाया जा सकता.
Firebase API कुंजी के लिए, "एपीआई से जुड़ी पाबंदियां" की अनुमति वाली सूची में किन एपीआई की ज़रूरत होती है?
Firebase API पासकोड के लिए, सिर्फ़ उन एपीआई को पासकोड की "एपीआई से जुड़ी पाबंदियां" की अनुमति वाली सूची में शामिल करना ज़रूरी है जिनके लिए क्लाइंट को कॉल के साथ एपीआई पासकोड देना होता है. ध्यान दें कि Firebase से जुड़े कुछ ही एपीआई के लिए यह ज़रूरी है. आपके प्रोजेक्ट में चालू किए गए, Firebase से जुड़े ज़्यादातर एपीआई को कुंजी की "एपीआई से जुड़ी पाबंदियां" की अनुमति वाली सूची में शामिल करने की ज़रूरत नहीं होती.
यहां दी गई टेबल का इस्तेमाल करके यह तय करें कि Firebase से जुड़े किन एपीआई को Firebase API कुंजी के लिए, "एपीआई से जुड़ी पाबंदियां" की अनुमति वाली सूची में शामिल करना है. ध्यान रखें कि Firebase API पासकोड का इस्तेमाल सिर्फ़ Firebase की सेवाओं के लिए किया जाना चाहिए. खास तरह के एपीआई के लिए, अलग-अलग और पाबंदी वाले एपीआई कुंजियां बनाने के बारे में ज़्यादा जानें.
Google Cloud कंसोल में, एपीआई और सेवाएं > क्रेडेंशियल पैनल में जाकर, अपने प्रोजेक्ट के एपीआई पासकोड देखे और मैनेज किए जा सकते हैं.
* यह सिर्फ़ तब ज़रूरी है, जब तीसरे पक्ष के टूल के साथ Firebase API कुंजी का इस्तेमाल किया जा रहा हो या Firebase सेवा / प्रॉडक्ट को सीधे तौर पर REST ऐक्सेस किया जा रहा हो.
** प्रॉडक्ट के SDK टूल के पुराने वर्शन के लिए ज़रूरी है. अगर एसडीके टूल का नया वर्शन इस्तेमाल किया जा रहा है, तो एपीआई को कुंजी की अनुमति वाली सूची में शामिल करने की ज़रूरत नहीं है.
समस्या का हल
मैं API_KEY_SERVICE_BLOCKED या 'अनुमति नहीं है 403' गड़बड़ी को कैसे ठीक करूं? इस गड़बड़ी में बताया गया है कि इस एपीआई के अनुरोध ब्लॉक कर दिए गए हैं.
अगर आपको API_KEY_SERVICE_BLOCKEDगड़बड़ी का मैसेज मिल रहा है या इस तरह की कोई गड़बड़ी दिख रही है, तो इस अक्सर पूछे जाने वाले सवाल में दिए गए निर्देशों का पालन करें:
Forbidden: 403 POST https://example-service.googleapis.com/method: Requests to this API example-service.googleapis.com method google.example-service.rest.method are blocked.
आपके ऐप्लिकेशन में, एपीआई को कॉल करने के लिए इस्तेमाल की गई एपीआई कुंजी पर शायद "एपीआई से जुड़ी पाबंदियां" लागू हैं. साथ ही, कुंजी की अनुमति वाली सूची में वह एपीआई शामिल नहीं है.
अगर आपको Firebase से जुड़ी नहीं है, तो हमारा सुझाव है कि आप उस सेवा और एपीआई के लिए एक नई एपीआई कुंजी बनाएं. Firebase API कुंजियों का इस्तेमाल सिर्फ़ Firebase की सेवाओं / प्रॉडक्ट के लिए किया जाना चाहिए.
खास तरह के एपीआई के लिए, अलग-अलग और पाबंदियों वाले एपीआई पासकोड बनाने के बारे में ज़्यादा जानें.
मैं इस गड़बड़ी को कैसे ठीक करूं? "सर्वर से, इस Firebase ऐप्लिकेशन का मेज़रमेंट आईडी फ़ेच नहीं किया जा सका."
ऐसा हो सकता है कि आपके वेब ऐप्लिकेशन में इस्तेमाल की गई एपीआई कुंजी पर "एपीआई से जुड़ी पाबंदियां" लागू हों. अगर ऐसा है, तो पक्का करें कि Firebase Management API को अनुमति वाले एपीआई की सूची में शामिल किया गया हो.
मुझे एक ईमेल मिला है या गड़बड़ी का मैसेज मिला है. इसमें बताया गया है कि मेरा एपीआई पासकोड अमान्य है. ऐसा क्यों हुआ और इसे कैसे ठीक किया जा सकता है?
अमान्य एपीआई कुंजियों की कुछ सबसे आम वजहें यहां दी गई हैं:
एपीआई पासकोड पर "एपीआई पासकोड से जुड़ी पाबंदियां" लागू हैं. इसलिए, यह पासकोड उस ऐप्लिकेशन से मेल नहीं खाता जो इसका इस्तेमाल करने की कोशिश कर रहा है ("ऐप्लिकेशन से जुड़ी पाबंदियां"). इसके अलावा, यह पासकोड उस एपीआई के लिए भी इस्तेमाल नहीं किया जा सकता जिसे कॉल किया जा रहा है ("एपीआई से जुड़ी पाबंदियां").
एपीआई कुंजी को Google Cloud कंसोल में प्रोजेक्ट से मिटा दिया गया है.
एपीआई पासकोड, ऐप्लिकेशन की Firebase कॉन्फ़िगरेशन फ़ाइल/ऑब्जेक्ट में दिए गए प्रोजेक्ट आईडी के लिए नहीं बनाया गया था.
[[["समझने में आसान है","easyToUnderstand","thumb-up"],["मेरी समस्या हल हो गई","solvedMyProblem","thumb-up"],["अन्य","otherUp","thumb-up"]],[["वह जानकारी मौजूद नहीं है जो मुझे चाहिए","missingTheInformationINeed","thumb-down"],["बहुत मुश्किल है / बहुत सारे चरण हैं","tooComplicatedTooManySteps","thumb-down"],["पुराना","outOfDate","thumb-down"],["अनुवाद से जुड़ी समस्या","translationIssue","thumb-down"],["सैंपल / कोड से जुड़ी समस्या","samplesCodeIssue","thumb-down"],["अन्य","otherDown","thumb-down"]],["आखिरी बार 2026-02-17 (UTC) को अपडेट किया गया."],[],[]]