एआई के साथ कोडिंग

आपके Gemini API कुंजी को क्लाइंट-साइड कोड में डालने के खिलाफ मामला (और कैसे फायरबेस AI तर्क इसे हल करता है)

प्रोक्सी के रूप में Use Firebase AI Logic और ग्राहक बंडलों से Gemini API कुंजियों को बाहर रखने के लिए App Check और ब्लॉक बॉट कोटा जलने से।

आपके Gemini API कुंजी को क्लाइंट-साइड कोड में डालने के खिलाफ मामला (और कैसे फायरबेस AI तर्क इसे हल करता है)

मुख्य जानकारी

  • कभी भी Gemini API कुंजियों को क्लाइंट-साइड कोड में न रखें, क्योंकि ब्राउज़र बंडल उन्हें उजागर कर सकते हैं और कोटा के दुरुपयोग या अप्रत्याशित बिलिंग का कारण बन सकते हैं।
  • Gemini API कॉल के लिए एक प्रबंधित प्रॉक्सी के रूप में कार्य करता है, क्लाइंट से गुप्त कुंजी को दूर रखता है और कस्टम बैकएंड की आवश्यकता को हटा देता है।
  • Firebase App Check सत्यापित करता है कि अनुरोध वास्तविक APP उदाहरण से आते हैं बजाय बॉट या कॉपी किए गए सार्वजनिक फायरबेस कॉन्फ़िगरेशन के।
  • App Check के लिए प्रवर्तन Firebase AI Logic 2 नवंबर को अनिवार्य हो जाता है, 2026 और नए AI Logic एकीकरण जुलाई से स्वचालित रूप से इसे सक्षम करने के लिए निर्धारित हैं।
  • उत्पादन उपयोग के लिए, Firebase को App Check के साथ कॉन्फ़िगर करें और तेजी से प्रोटोटाइप या बिलिंग, क्षेत्र नियंत्रण और डेटा निवास के लिए मुफ्त Gemini Developer API चुनें।

Meta Description: एक उत्पादन-तैयार क्लाइंट सेटअप और सामान्य फिक्स के साथ Firebase AI Logic और App Check का उपयोग करके वेब apps में Gemini API कुंजी की रक्षा करना सीखें।

The Case Against Putting Your Gemini API key in Client-Side Code (and How Firebase AI Logic Solves It)

टैगः फायरबेस AI तर्क, APP चेक, Gemini API, वेब सुरक्षा

विशेष रुप से प्रदर्शित छवि: बिना किसी वास्तविक व्यक्ति, लोगो या पाठ के क्लाउड मॉडल में एक बंद गेटवे से गुजरने वाले ब्राउज़र अनुरोध का अमूर्त अनुकूल चित्रण

Protect Gemini API Firebase के साथ कुंजी AI तर्क और APP चेक

यदि आप एक वेब डेवलपर हैं जो Gemini को ब्राउज़र APP में जोड़ रहे हैं, तो यह गाइड आपको उत्पादन-शैली का रास्ता देता हैः Gemini API कॉल के लिए प्रबंधित प्रॉक्सी के रूप में उपयोग करें Firebase AI Logic, अनुरोधों की पुष्टि करने के लिए Firebase App Check जोड़ें और क्लाइंट बंडल से गुप्त कुंजी रखें। सेटअप अब मायने रखता है क्योंकि Google ने घोषणा की है App Check प्रवर्तन 2 नवंबर से शुरू होने वाले Firebase AI Logic के लिए अनिवार्य हो जाएगा 2026, और Firebase कंसोल पहले से ही जुलाई में नए AI Logic एकीकरण के लिए स्वचालित रूप से सक्षम है 2026

The Case Against Putting Your Gemini API key in Client-Side Code (and How Firebase AI Logic Solves It)

क्यों ब्राउज़र में एक Gemini कुंजी समस्या है

Gemini API सुविधाएँ अक्सर सबसे कम संभव मार्ग से शुरू होती हैंः ∀GoogleGenerativeAI` के साथ एक ब्राउज़र क्लाइंट बनाएं और मॉडल को सीधे कॉल करें। यह JavaScript बंडल के अंदर, या ब्राउज़र बंडਲ में इंजेक्ट किए गए ≠.env∂ मान के भीतर एक Gemini API कुंजी डालता है। एक बण्डल सार्वजनिक है। सरल टेक्स्ट स्कैन तैनात परिसंपत्तियों में [A-Za-z0-9_-]{33}゙ पैटर्न पा सकता है, कोई विशेष उपकरण की आवश्यकता नहीं है, और ब्राउज़र नेटवर्क टूल क्वेरी स्ट्रिंग्स या हेडर में कुंजी के साथ अनुरोध दिखा सकते हैं।

जोखिम सैद्धांतिक नहीं है। एक उजागर कुंजी किसी अन्य कॉलर को आपके कोटा का उपयोग करने दे सकती है, क्लाउड बिलों में वृद्धि कर सकती है क्योंकि Gemini कॉल प्रति token के लिए बिल किए जाते हैं और आपकी Google Cloud परियोजना के खिलाफ दुरुपयोग प्रसंस्करण को ट्रिगर करते हैं। पुराना वर्कअराउंड एक कस्टम बैकएंड थाः Node.js चलाएं , Python , जाओ, या एक और server केवल ब्राउज़र से एक गुप्त स्ट्रिंग दूर रखने के लिए।

Firebase AI Logic उस बुनियादी ढांचे के बोझ को हटा देता है। यह दो प्रदाता विकल्पों का समर्थन करता है जब Firebase कंसोल में कॉन्फ़िगर किया जाता हैः Gemini Developer API और Agent Platform Gemini API, पूर्व Vertex AI. मुफ्त स्पार्क योजना Gemini Developer API के साथ काम करती है, कोई बिलिंग खाते की आवश्यकता नहीं है, न्यूनतम सेटअप घर्षण है, और तेजी से प्रोटोटाइपिंग और अधिकांश वेब या मोबाइल apps ; क्षेत्र नियंत्रण सीमित है। Agent Platform Gemini API ब्लेज़ भुगतान-जैसा-आप-जाओ योजना और एक लिंक्ड Cloud Billing खाता की आवश्यकता होती है, मॉडल के आधार पर एक्सेस मॉडल के लिए ∀us` और ▽eu゙ जैसे क्षेत्र विकल्प प्रदान करते हैं, और उन टीमों को फिट बैठता है जिन्हें डेटा निवास या पहले से ही उपयोग Google Cloud और Vertex AI करने की आवश्यकता है। बाद में प्रदाताओं को स्विच करना एक कन्सोल विन्यास परिवर्तन है, न कि कोड फिर से लिखना, क्योंकि दोनों समान △getGenerativeModelinterface) का उपयोग करते हैं। इस गाइड के लिए, Gemini Developer API प्रारंभिक प्रदाता है।

क्या Firebase AI तर्क और APP चेक परिवर्तन

प्रॉक्सी कुंजी को छुपाता है, लेकिन कुंजी छिपाने के लिए पर्याप्त नहीं है। एक फायरबेस कॉन्फ़िग ऑब्जेक्ट डिजाइन द्वारा सार्वजनिक होता है। इसमें ∀apiKey`, ≠authDomain∂, ∞projectId∂ , ∞storageBucket∂, a̅messagingSenderId∂ और an∂appId∂ जैसी मूल्यों शामिल हैं। Without App Check, एक बॉट उस विन्यास की प्रतिलिपि बना सकता है, अपने स्वयं के Firebase APP का आरंभ कर सकता है और आपके AI Logic प्रॉक्सी को अनुरोध भेज सकता है। प्रॉक्सी उन्हें अग्रेषित करेगा, और मॉडल खर्च अभी भी आपकी परियोजना से आएगा।

The Case Against Putting Your Gemini API key in Client-Side Code (and How Firebase AI Logic Solves It)

Gemini API प्रमाणीकरण एक उपयोगकर्ता की पहचान करता है। Firebase AI Logic यह पूछता है कि क्या अनुरोध आपके सार्वजनिक कॉन्फ़िगरेशन का उपयोग करके स्क्रिप्ट, बॉट या किसी अन्य APP के बजाय वास्तविक, अनटेम्पर्ड उदाहरण से आता है। Firebase App Check वेब पर, App Check reCAPTCHA एंटरप्राइज का उपयोग कर सकते हैं। SDK ब्राउज़र और नेटवर्क सिग्नल के आधार पर एक अदृश्य जोखिम मूल्यांकन चलाता है, एक रेकप्चा token प्राप्त करता है, इसे अल्पकालिक हस्ताक्षरित Firebase App Check token , जो एक जेडब्ल्यूटी (JWT) है, स्थानीय रूप से कैश करता है और बाद में अनुरोधों के लिए स्वचालित रूप से संलग्न करता है । AI Logic प्रॉक्सी कॉल को अग्रेषित करने से पहले API key 0 को सत्यापित करता है.

यह जनरेटिव AI के लिए मायने रखता है क्योंकि लागत का आकार सामान्य डेटाबेस से अलग होता है। एक अवरुद्ध फायरस्टोर रीड की कीमत कुछ भी नहीं होती। प्रति अनुरोध वास्तविक धन खर्च हो सकता था, और एक स्क्रिप्टेड दुरुपयोग लूप घंटों में मासिक बजट को जला सकता है। Google ने घोषणा की है App Check प्रवर्तन 2 नवंबर से शुरू होने वाले Firebase AI Logic के लिए अनिवार्य हो जाएगा 2026 जुलाई से शुरू होकर 2026, फ़ायरबेस कंसोल में निर्देशित सेटअप वर्कफ़्लो पहले से ही नए AI Logic एकीकरण के लिए स्वचालित रूप से सक्षम है। प्रवर्ती तिथि के बाद अप्रमाणित अनुरोधों को पूरी तरह से खारिज कर दिया जाएगा।

क्रमांकित चरणों में उत्पादन की स्थापना

  1. अपने स्थानीय वातावरण को तैयार करें. Check Node.js v18 या बाद में ∀node --version` के साथ। आपको एक फायरबेस प्रोजेक्ट, कोड एडिटर, टर्मिनल और मूल JavaScript के लिए ∀async⌒ / ゙await⌒ और ईएस मॉड्यूल के साथ एक Google खाते की आवश्यकता है। आपको पहले से फ़ायरबेस App Check, या Gemini API अनुभव की आवश्यकता नहीं है।
  1. Firebase परियोजना बनाएँ और सक्षम करें AI Logic. इस ट्यूटोरियल के लिए बिलिंग सेटअप से बचने के लिए, फायरबेस कंसोल खोलें, एक प्रोजेक्ट बनाएं या कोई मौजूदा ओपन करें, बिल्ड पर जाएं, फिर AI Logic, और प्रारंभ करें Choose Gemini Developer API क्लिक करें।
  1. वेब APP रजिस्टर करें. प्रोजेक्ट सेटिंग्स में, सामान्य पर जाएं, फिर आपका apps . एक वेब APP पंजीकृत करें और फायरबेस कॉन्फ़िग ऑब्जेक्ट की प्रतिलिपि बनाएँ. वह वस्तु शिप करने के लिए सुरक्षित है; यह गुप्त कुंजी नहीं है API।
  1. Firebase पैकेज स्थापित करें. APP फ़ोल्डर में, चलाएँ ∀npm install firebase`। ▽firebase̅ पैकेज शामिल है ≠firebbase/ APP /check∂; △ReCaptchaEnterpriseProvider∂ जहाजों के साथ यह. आप एक अलग reCAPTCHA पैकेज या मैनुअल स्क्रिप्ट टैग की जरूरत नहीं है. फायरबेस लोड करता है reCATCHA एंटरप्राइज स्क्रिप्शन जब ∆initializeAppCheck() चल रहा है.
  1. Initialize App Check Firebase APP को आरंभ करने वाली एक छोटी सेटअप फ़ाइल बनाएँ और कॉल करें ∀initializeAppCheck()` के साथ ▽ReCaptchaEnterpriseProvider◇और आपकी reCAPTCHA एंटरप्राइज़ साइट कुंजी। सेट ゙isTokenAutoRefreshEnabled: true□. केवल स्थानीय विकास के लिए, डिबग प्रदाता सक्षम करके सेट △self.FIREBASE_APPCHECK_DEBUG_ token = true□ जब ∂location.hostname⌒ is ≠localhost□. यह पहली बार ब्राउज़र कंसोल में डीबग token प्रिंट करता है।
  1. डिबग token को कंसोल में जोड़ें. कंसोल आउटपुट से API key 0 की प्रतिलिपि बनाएँ और इसे App Check, apps , आपका APP , डीबग प्रबंधित करें tokens में डालें. आपके स्थानीय अनुरोधों को तब वास्तविक reCAPTCHA चुनौती के बिना सत्यापित माना जाता है। पर्यावरण जांच के पीछे इस ब्लॉक को गेट करें और कभी भी उत्पादन के लिए शिप न करें.
  1. Register App Check में Firebase. कंसोल में, बिल्ड पर जाएं, फिर App Check, अपने वेब APP का चयन करें , और reCAPTCHA एंटरप्राइज चुनें। फायरबेस आपके APP डोमेन से जुड़ी एक साइट कुंजी उत्पन्न करता है। उस साइट की अपनी कोड में कॉपी करें।
  1. AI Logic क्लाइंट बनाएँ. ∀getAI`, GoogleAIBackend̅ और GenerativeModel̅ आयात करें। प्रारंभ किए गए APP को ≠getAI()゙ में पास करें जिसमें backend: नया गूगलएआई बैकेंड̅ और useLimitedUseAppCheckTokens: true हों। सीमित उपयोग वाले token विकल्प मानक App Check सत्यापन के शीर्ष पर रिप्ले हमलों के खिलाफ सुरक्षा जोड़ता है। फिर मॉडल नाम जैसे कि Gemini - 3.8-flash̅ के साथ ∂GetGenerativeModèl̅ कॉल करें।
  1. अनुरोध की स्थिति सत्यापित करें. पहले संरक्षित अनुरोध के बाद, खोलें App Check, फिर APIs कंसोल में। आपको Firebase AI Logic के लिए सत्यापित और अप्रमाणित अनुरोध देखना चाहिए। सही वायरिंग आपके ट्रैफ़िक को प्रमाणित दिखाता है.
  1. वास्तविक पैटर्न का उपयोग करें, न कि एक कंसोल लाइन। मॉडल ऑब्जेक्ट तैयार होने के साथ, एकल प्रॉम्प्ट के लिए ∀generateContent()` को कॉल करें, token -by- token UI अपडेट के लिए स्ट्रीमिंग का प्रयोग करें, अनुवर्ती संकेतों के लिए मल्टी टर्न चैट कॉन्टेक्स्ट रखें और जब प्रतिक्रिया कोड द्वारा पार्स की जानी चाहिए तो संरचित JSON आउटपुट का अनुरोध करें। यदि आपका APP उत्पादन में चलता है तो मॉडल नाम को हार्डकोड न करें: मॉडल नाम और उपलब्धता परिवर्तन। समर्थित मॉडलों पृष्ठ की जांच करें, या मॉडल नाम लोड करें ताकि आप नए बिल्ड शिपिंग के बिना मॉडल स्वैप कर सकें। संदर्भ के लिए, 1 जून Gemini API पर ▽ Gemini -2.0 लाइट-फ्लैश और इसके संस्करण को सेवानिवृत्त किया गया था, और Gemini [36] लाइन Gemini x श्रृंखला 3 के पक्ष में अप्रचलित है।

आम गलतियाँ

पहली गलती फायरबेस कॉन्फ़िग को एक रहस्य के रूप में व्यवहार करना है। यह सार्वजनिक है। दूसरा AI Logic प्रॉक्सी का उपयोग कर रहा है बिना App Check । प्रॉक्सी कुंजी छुपाता है, लेकिन App Check आपके सार्वजनिक कॉन्फिग का उपयोग करने से असंबंधित कॉलरों को रोकता है। तीसरा token ब्लॉक को डिबगिंग भेज रहा है उत्पादन. डीबग tokens केवल लोकलहोस्ट के लिए हैं। चौथा Gemini मॉडल नाम है जिसे रिटायर किया जा सकता है। पांचवां मान रहा है App Check प्रमाणीकरण है। जब उपयोगकर्ता की पहचान मायने रखती है तो इसे Firebase Authentication के साथ संयोजित करें। छठा स्किपिंग App Check क्योंकि यह 2 नवंबर तक अनिवार्य नहीं है। 2026 कंसोल पहले से ही जुलाई में नए एकीकरण के लिए इसे सक्षम करता है AI Logic, और बाद में प्रवर्तन अप्रमाणित अनुरोधों को पूरी तरह से खारिज कर देता है। बिल्डिंग token अब एक उत्पादन प्रवाह आउटेज से बचाता है और समय सीमा से पहले बिलिंग की रक्षा करता है।

Comments (0)

  1. No comments yet. Be the first to share what worked for you.

Leave a comment

Comments are reviewed before they appear. Your email address is not published.