जब किसी एपीआई को सीधे मोबाइल या वेब ऐप्लिकेशन से कॉल किया जाता है, तो एपीआई का गलत इस्तेमाल होने का खतरा रहता है. ऐसा उन क्लाइंट की वजह से होता है जिनके पास एपीआई को ऐक्सेस करने की अनुमति नहीं होती. अगर आपको अपने मोबाइल या वेब ऐप्लिकेशन से सीधे Gemini API को कॉल करना है, तो आपको Firebase AI Logic का इस्तेमाल करके और Firebase App Check को लागू करके, इसे गलत इस्तेमाल से बचाना होगा. App Check को लागू करने पर, यह सिर्फ़ उन अनुरोधों को अनुमति देगा जिनकी पुष्टि आपके असली ऐप्लिकेशन और/या ऐसे डिवाइस से की गई है जिसमें छेड़छाड़ नहीं की गई है.
सेट अप करने के निर्देशों पर जाएं
Firebase AI Logic एक प्रॉक्सी गेटवे उपलब्ध कराता है. इसकी मदद से, Firebase App Check के साथ इंटिग्रेट किया जा सकता है. साथ ही, Gemini API को तब सुरक्षित रखा जा सकता है, जब उसे आपके मोबाइल और वेब ऐप्लिकेशन से सीधे कॉल किया जाता है. Firebase AI Logic के लिए App Check को लागू करने से, Gemini Developer API और Agent Platform Gemini API (formerly Vertex AI), दोनों को सुरक्षित रखने में मदद मिलती है.
Firebase AI Logic के लिए App Check, रीप्ले प्रोटेक्शन की सुविधा भी देता है. इसका मतलब है कि App Check टोकन को सिर्फ़ एक बार इस्तेमाल किया जा सकता है.
App Check के काम करने के तरीके की खास जानकारी
App Check की मदद से, आपके ऐप्लिकेशन को चलाने वाले डिवाइस, ऐप्लिकेशन या डिवाइस की पुष्टि करने वाली सेवा देने वाली कंपनी का इस्तेमाल करते हैं. यह कंपनी, इनमें से किसी एक या दोनों की पुष्टि करती है:
- अनुरोध आपके असली ऐप्लिकेशन से किए गए हों
- अनुरोध किसी असली और बिना छेड़छाड़ वाले डिवाइस से किए गए हों
यह पुष्टि, आपके ऐप्लिकेशन के हर उस अनुरोध के साथ अटैच की जाती है जो Firebase AI Logic SDK टूल का इस्तेमाल करके किया जाता है. App Check लागू होने पर, उन क्लाइंट के अनुरोधों को अस्वीकार कर दिया जाएगा जिनके पास मान्य अटेस्टेशन नहीं है. साथ ही, ऐसे किसी भी ऐप्लिकेशन या प्लैटफ़ॉर्म से आने वाले अनुरोध को अस्वीकार कर दिया जाएगा जिसे आपने अनुमति नहीं दी है.
App Check सेट अप करते समय, रीप्ले प्रोटेक्शन जोड़ने पर विचार करें. इससे App Check टोकन सिर्फ़ एक बार इस्तेमाल किए जा सकते हैं. इस विकल्प से, बुनियादी सुरक्षा के अलावा बेहतर सुरक्षा मिलती है. साथ ही, अपने ऐप्लिकेशन और इस्तेमाल के उदाहरणों के लिए, सुरक्षा का सही लेवल सेट किया जा सकता है.
App Check के बारे में ज़्यादा जानकारी इसके दस्तावेज़ में मिल सकती है. इसमें, अटेस्टेशन की सेवा देने वाली कंपनियों के ब्यौरे के साथ-साथ, लागू होने वाले कोटा और सीमाएं भी शामिल हैं.
App Check सेट अप करें
यहां दिए गए निर्देश, Firebase AI Logic के लिए Firebase App Check नीति उल्लंघन ठीक करने का तरीका सेट अप करने के लिए ऑप्टिमाइज़ किए गए हैं.
पहला चरण: App Check को लागू करना
जुलाई 2026 की शुरुआत से, Firebase कंसोल में सेटअप करने के लिए दिए गए निर्देशों के दौरान, Firebase Firebase AI Logic के लिए Firebase App Check को अपने-आप लागू कर देता है. इससे Gemini API को सुरक्षित रखने में मदद मिलती है.
हालांकि, अगर आपने जुलाई 2026 की शुरुआत से पहले ही अपने Firebase प्रोजेक्ट में Firebase AI Logic को सेट अप कर लिया था (या किसी अन्य वजह से App Check को लागू नहीं किया गया है), तो यहां दिए गए निर्देशों का पालन करके, App Check को खुद लागू किया जा सकता है.
देखें कि Firebase AI Logic के लिए, App Check पहले से लागू है या नहीं.
Firebase कंसोल में, सुरक्षा > App Check > एपीआई टैब पर जाएं.
Firebase AI Logic के लिए पंक्ति ढूंढें. अगर आपको
Unenforcedदिखता है, तो इन निर्देशों का पालन करना जारी रखें.
Firebase AI Logic की लाइन पर क्लिक करें. इसके बाद, आपको मेट्रिक के ग्राफ़ दिखेंगे. उन ग्राफ़ के नीचे, सेट अप करें पर क्लिक करें.
डायलॉग बॉक्स की पहली स्क्रीन (सुरक्षा का बुनियादी लेवल) पर, लागू किया गया को चुनें. इसके बाद, जारी रखें पर क्लिक करें.
अगली स्क्रीन (रीप्ले प्रोटेक्शन) में, बंद है को चुनें. इसके बाद, जारी रखें पर क्लिक करें.
आखिरी स्क्रीन पर, App Check को लागू करने से जुड़ी ज़रूरी बातों की समीक्षा करें, ताकि यह पक्का किया जा सके कि आप App Check को लागू करने के लिए तैयार हैं. अगर आप तैयार हैं, तो जारी रखें पर क्लिक करें.
अगर आपको सिर्फ़ App Check को लागू करना है और प्री-प्रोडक्शन ऐप्लिकेशन में Firebase AI Logic के साथ सिर्फ़ डीबग प्रोवाइडर का इस्तेमाल करना है, तो आपको अपने ऐप्लिकेशन रजिस्टर करने की ज़रूरत नहीं है. हालांकि, जब आप असली उपयोगकर्ताओं के लिए अपना ऐप्लिकेशन रिलीज़ करने के लिए तैयार हों, तब आपको अपने ऐप्लिकेशन रजिस्टर करने होंगे. ऐसा करना, प्रोडक्शन अटेस्टेशन प्रोवाइडर (जैसे, App Attest, Play Integrity या reCAPTCHA Enterprise) को सेट अप करने का हिस्सा है.
दूसरा चरण: लोकल डेवलपमेंट के लिए डीबग प्रोवाइडर सेट अप करना
लोकल डेवलपमेंट के लिए, App Check डीबग प्रोवाइडर को सेट अप किया जा सकता है. साथ ही, Firebase AI Logic के लिए App Check को लागू रखा जा सकता है.
Swift
सिम्युलेटर में ऐप्लिकेशन को इंटरैक्टिव तरीके से चलाने के दौरान, डीबग प्रोवाइडर का इस्तेमाल करने का तरीका यहां बताया गया है. उदाहरण के लिए, लोकल डेवलपमेंट के दौरान:
अपने Xcode प्रोजेक्ट में,
FirebaseAppCheckको इंपोर्ट करें औरFirebaseको कॉन्फ़िगर करने से पहले, डीबग प्रोवाइडर फ़ैक्ट्री की मदद से App Check को शुरू करें.import SwiftUI import FirebaseCore import FirebaseAppCheck @main struct YourApp: App { init() { let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure() } var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }अपना डीबग टोकन पाना:
सिम्युलेटर या टेस्ट डिवाइस पर अपना ऐप्लिकेशन लॉन्च करें.
Xcode कंसोल खोलें और App Check डीबग टोकन ढूंढें. उदाहरण के लिए:
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.टोकन को कॉपी करें (उदाहरण के लिए,
123a4567-b89c-12d3-e456-789012345678).
App Check पर अपना डीबग टोकन रजिस्टर करें:
Firebase कंसोल में, सुरक्षा > App Check > ऐप्लिकेशन टैब पर जाएं.
अपना ऐप्लिकेशन ढूंढें और ओवरफ़्लो मेन्यू () पर क्लिक करें. इसके बाद, डीबग टोकन मैनेज करें को चुनें.
डीबग टोकन को रजिस्टर करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
डीबग प्रोवाइडर के बारे में ज़्यादा जानने के लिए, आधिकारिक App Check दस्तावेज़ देखें. इसमें नया डीबग टोकन पाने का तरीका भी बताया गया है.
Kotlin
एम्युलेटर में ऐप्लिकेशन को इंटरैक्टिव तरीके से चलाने के दौरान, डीबग प्रोवाइडर का इस्तेमाल करने का तरीका यहां बताया गया है. उदाहरण के लिए, लोकल डेवलपमेंट के दौरान:
डीबग प्रोवाइडर फ़ैक्ट्री का इस्तेमाल करने के लिए, डीबग के लिए बिल्ड में App Check को कॉन्फ़िगर करें:
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance(), )
अपना डीबग टोकन पाना:
एम्युलेटर या टेस्ट के लिए इस्तेमाल किए जा रहे डिवाइस पर अपना ऐप्लिकेशन चलाएं.
अपने लॉग में App Check डीबग टोकन ढूंढें. उदाहरण के लिए:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678टोकन को कॉपी करें (उदाहरण के लिए,
123a4567-b89c-12d3-e456-789012345678).
App Check पर अपना डीबग टोकन रजिस्टर करें:
Firebase कंसोल में, सुरक्षा > App Check > ऐप्लिकेशन टैब पर जाएं.
अपना ऐप्लिकेशन ढूंढें और ओवरफ़्लो मेन्यू () पर क्लिक करें. इसके बाद, डीबग टोकन मैनेज करें को चुनें.
डीबग टोकन को रजिस्टर करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
डीबग प्रोवाइडर के बारे में ज़्यादा जानने के लिए, आधिकारिक App Check दस्तावेज़ देखें. इसमें नया डीबग टोकन पाने का तरीका भी बताया गया है.
Java
एम्युलेटर में ऐप्लिकेशन को इंटरैक्टिव तरीके से चलाने के दौरान, डीबग प्रोवाइडर का इस्तेमाल करने का तरीका यहां बताया गया है. उदाहरण के लिए, लोकल डेवलपमेंट के दौरान:
डीबग प्रोवाइडर फ़ैक्ट्री का इस्तेमाल करने के लिए, डीबग के लिए बिल्ड में App Check को कॉन्फ़िगर करें:
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance());
अपना डीबग टोकन पाना:
एम्युलेटर या टेस्ट के लिए इस्तेमाल किए जा रहे डिवाइस पर अपना ऐप्लिकेशन चलाएं.
अपने लॉग में App Check डीबग टोकन ढूंढें. उदाहरण के लिए:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678टोकन को कॉपी करें (उदाहरण के लिए,
123a4567-b89c-12d3-e456-789012345678).
App Check पर अपना डीबग टोकन रजिस्टर करें:
Firebase कंसोल में, सुरक्षा > App Check > ऐप्लिकेशन टैब पर जाएं.
अपना ऐप्लिकेशन ढूंढें और ओवरफ़्लो मेन्यू () पर क्लिक करें. इसके बाद, डीबग टोकन मैनेज करें को चुनें.
डीबग टोकन को रजिस्टर करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
डीबग प्रोवाइडर के बारे में ज़्यादा जानने के लिए, आधिकारिक App Check दस्तावेज़ देखें. इसमें नया डीबग टोकन पाने का तरीका भी बताया गया है.
Web
localhost से इंटरैक्टिव तरीके से ऐप्लिकेशन चलाते समय, डीबग प्रोवाइडर का इस्तेमाल करने का तरीका यहां बताया गया है. उदाहरण के लिए, लोकल डेवलपमेंट के दौरान:
App Check को शुरू करने से पहले, डीबग के लिए बिल्ड में डीबग मोड चालू करें. इसके लिए,
self.FIREBASE_APPCHECK_DEBUG_TOKENकोtrueपर सेट करें. उदाहरण के लिए:self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; initializeAppCheck(app, { /* App Check options */ });अपने वेब ऐप्लिकेशन को स्थानीय तौर पर ऐक्सेस करें और ब्राउज़र के डेवलपर टूल खोलें. डीबग कंसोल में, आपको एक डीबग टोकन दिखेगा:
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will need to safelist it in the Firebase console for it to work.App Check पर अपना डीबग टोकन रजिस्टर करें:
Firebase कंसोल में, सुरक्षा > App Check > ऐप्लिकेशन टैब पर जाएं.
अपना ऐप्लिकेशन ढूंढें और ओवरफ़्लो मेन्यू () पर क्लिक करें. इसके बाद, डीबग टोकन मैनेज करें को चुनें.
डीबग टोकन को रजिस्टर करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
डीबग प्रोवाइडर के बारे में ज़्यादा जानने के लिए, आधिकारिक App Check दस्तावेज़ देखें. इसमें नया डीबग टोकन पाने का तरीका भी बताया गया है.
Dart
iOS+
सिम्युलेटर में ऐप्लिकेशन को इंटरैक्टिव तरीके से चलाने के दौरान, डीबग प्रोवाइडर का इस्तेमाल करने का तरीका यहां बताया गया है. उदाहरण के लिए, लोकल डेवलपमेंट के दौरान:
अपने Firebase ऐप्लिकेशन को शुरू करने के तुरंत बाद, डीबग प्रोवाइडर की मदद से App Check को चालू करें:
import 'package:flutter/material.dart'; import 'package:firebase_core/firebase_core.dart'; // Import the firebase_app_check plugin import 'package:firebase_app_check/firebase_app_check.dart'; Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); await FirebaseAppCheck.instance.activate( // Set appleProvider to `AppleProvider.debug` appleProvider: AppleProvider.debug, ); runApp(App()); }अपने Xcode प्रोजेक्ट में डीबग लॉगिंग चालू करें:
- Product > Scheme > Edit scheme खोलें.
- बाईं ओर मौजूद मेन्यू से, Run को चुनें. इसके बाद, Arguments टैब को चुनें.
- Arguments Passed on Launch सेक्शन में,
-FIRDebugEnabledजोड़ें.
अपना डीबग टोकन पाना:
Xcode की मदद से
ios/Runner.xcworkspaceखोलें और सिम्युलेटर या टेस्ट डिवाइस पर अपना ऐप्लिकेशन चलाएं.Xcode कंसोल खोलें और App Check डीबग टोकन ढूंढें. उदाहरण के लिए:
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.टोकन को कॉपी करें (उदाहरण के लिए,
123a4567-b89c-12d3-e456-789012345678).
App Check पर अपना डीबग टोकन रजिस्टर करें:
Firebase कंसोल में, सुरक्षा > App Check > ऐप्लिकेशन टैब पर जाएं.
अपना ऐप्लिकेशन ढूंढें और ओवरफ़्लो मेन्यू () पर क्लिक करें. इसके बाद, डीबग टोकन मैनेज करें को चुनें.
डीबग टोकन को रजिस्टर करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
Android
एम्युलेटर में ऐप्लिकेशन को इंटरैक्टिव तरीके से चलाने के दौरान, डीबग प्रोवाइडर का इस्तेमाल करने का तरीका यहां बताया गया है. उदाहरण के लिए, लोकल डेवलपमेंट के दौरान:
अपने Firebase ऐप्लिकेशन को शुरू करने के तुरंत बाद, डीबग प्रोवाइडर की मदद से App Check को चालू करें:
import 'package:flutter/material.dart'; import 'package:firebase_core/firebase_core.dart'; // Import the firebase_app_check plugin import 'package:firebase_app_check/firebase_app_check.dart'; Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); await FirebaseAppCheck.instance.activate( // Set androidProvider to `AndroidProvider.debug` androidProvider: AndroidProvider.debug, ); runApp(App()); }अपना डीबग टोकन पाना:
एम्युलेटर या टेस्ट के लिए इस्तेमाल किए जा रहे डिवाइस पर अपना ऐप्लिकेशन चलाएं.
अपने लॉग में App Check डीबग टोकन ढूंढें. उदाहरण के लिए:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678टोकन को कॉपी करें (उदाहरण के लिए,
123a4567-b89c-12d3-e456-789012345678).
App Check पर अपना डीबग टोकन रजिस्टर करें:
Firebase कंसोल में, सुरक्षा > App Check > ऐप्लिकेशन टैब पर जाएं.
अपना ऐप्लिकेशन ढूंढें और ओवरफ़्लो मेन्यू () पर क्लिक करें. इसके बाद, डीबग टोकन मैनेज करें को चुनें.
डीबग टोकन को रजिस्टर करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
वेब
localhost से इंटरैक्टिव तरीके से ऐप्लिकेशन चलाते समय, डीबग प्रोवाइडर का इस्तेमाल करने का तरीका यहां बताया गया है. उदाहरण के लिए, लोकल डेवलपमेंट के दौरान:
web/index.htmlफ़ाइल में,self.FIREBASE_APPCHECK_DEBUG_TOKENकोtrueपर सेट करके डीबग मोड चालू करें:<body> <script> self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; </script> ... </body>अपने वेब ऐप्लिकेशन को स्थानीय तौर पर चलाएं और ब्राउज़र के डेवलपर टूल खोलें. डीबग कंसोल में, आपको एक डीबग टोकन दिखेगा:
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will need to safelist it in the Firebase console for it to work.यह टोकन आपके ब्राउज़र में सेव किया जाता है. इसका इस्तेमाल तब किया जाएगा, जब उसी मशीन पर उसी ब्राउज़र में ऐप्लिकेशन का इस्तेमाल किया जाएगा. अगर आपको टोकन का इस्तेमाल किसी दूसरे ब्राउज़र या मशीन पर करना है, तो
self.FIREBASE_APPCHECK_DEBUG_TOKENकोtrueके बजाय टोकन स्ट्रिंग पर सेट करें.App Check पर अपना डीबग टोकन रजिस्टर करें:
Firebase कंसोल में, सुरक्षा > App Check > ऐप्लिकेशन टैब पर जाएं.
अपना ऐप्लिकेशन ढूंढें और ओवरफ़्लो मेन्यू () पर क्लिक करें. इसके बाद, डीबग टोकन मैनेज करें को चुनें.
डीबग टोकन को रजिस्टर करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
डीबग प्रोवाइडर के बारे में ज़्यादा जानने के लिए, आधिकारिक App Check दस्तावेज़ देखें. इसमें नया डीबग टोकन पाने का तरीका भी बताया गया है.
Unity
एम्युलेटर में ऐप्लिकेशन को इंटरैक्टिव तरीके से चलाने के दौरान, डीबग प्रोवाइडर का इस्तेमाल करने का तरीका यहां बताया गया है. उदाहरण के लिए, लोकल डेवलपमेंट के दौरान:
Firebase कंसोल में, डीबग टोकन बनाएं:
Firebase कंसोल में, सुरक्षा > App Check > ऐप्लिकेशन टैब पर जाएं.
अपना ऐप्लिकेशन ढूंढें और ओवरफ़्लो मेन्यू () पर क्लिक करें. इसके बाद, डीबग टोकन मैनेज करें को चुनें.
नया डीबग टोकन बनाने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
अपने ऐप्लिकेशन के शुरू होने वाले कोड में, यह जोड़ें:
using Firebase.AppCheck; void InitializeFirebase() { // Configure the Debug Provider factory with your debug token. DebugAppCheckProviderFactory.Instance.SetDebugToken("YOUR_DEBUG_TOKEN"); // Set App Check to use the debug provider factory FirebaseAppCheck.SetAppCheckProviderFactory( DebugAppCheckProviderFactory.Instance); // Proceed to initialize Firebase as normal }
डीबग प्रोवाइडर के बारे में ज़्यादा जानने के लिए, आधिकारिक App Check दस्तावेज़ देखें. इसमें नया डीबग टोकन पाने का तरीका भी बताया गया है.
तीसरा चरण: असली उपयोगकर्ताओं और प्रोडक्शन के लिए App Check सेट अप करना
जब असली उपयोगकर्ताओं के लिए ऐप्लिकेशन रिलीज़ करने के लिए तैयार हो जाएं, तब आपको अपने ऐप्लिकेशन रजिस्टर करने होंगे. साथ ही, प्रोडक्शन अटेस्टेशन प्रोवाइडर सेट अप करना होगा. जैसे, App Attest, Play Integrity या reCAPTCHA Enterprise.
प्रोडक्शन अटेस्टेशन की सेवा देने वाली कंपनी चुनें. इसके बाद, इन लिंक पर जाकर, इसे लागू करने के निर्देशों का पालन करें:
- Apple प्लैटफ़ॉर्म: DeviceCheck या App Attest या reCAPTCHA Enterprise
- Android: Play Integrity या reCAPTCHA Enterprise
- वेब: reCAPTCHA Enterprise
- Flutter: यह ऊपर दिए गए सभी प्रोवाइडर के साथ काम करता है. इनमें reCAPTCHA Enterprise
भी शामिल है. अगर प्लग इन के पुराने वर्शन इस्तेमाल किए जा रहे हैं, तो Flutter और App Check के लिए, खास इंस्टैंशिएशन के बारे में नोट देखें. - Unity: यह ऊपर बताई गई सभी कंपनियों के साथ काम करता है. हालांकि, reCAPTCHA Enterprise के साथ यह जल्द आ रहा है
ध्यान दें कि अगर इनमें से कोई भी अटेस्टेशन प्रोवाइडर आपकी ज़रूरतों के हिसाब से सही नहीं है, तो कस्टम प्रोवाइडर लागू किया जा सकता है. इसके लिए, तीसरे पक्ष के अटेस्टेशन प्रोवाइडर या अपनी अटेस्टेशन तकनीकों का इस्तेमाल किया जा सकता है.
(सुझाया गया) रीप्ले प्रोटेक्शन जोड़कर सुरक्षा को बेहतर बनाएं. इसका मतलब है कि App Check टोकन का इस्तेमाल सिर्फ़ एक बार किया जा सकता है.
रीप्ले प्रोटेक्शन जोड़कर सुरक्षा को बेहतर बनाना
|
हमारा सुझाव है कि आप एसडीके के सबसे नए वर्शन इस्तेमाल करें. हालांकि, यह पक्का करें कि रीप्ले प्रोटेक्शन की सुविधा का इस्तेमाल करने के लिए, इनमें से कम से कम एक वर्शन का इस्तेमाल किया जा रहा हो: Apple प्लैटफ़ॉर्म v12.2.0+ | Android BoM v34.14.0+ (App Check v19.1.0+) | Web v12.14.0+ | Flutter v4.15.0+ (App Check v4.10.0+) | Unity v13.12.0+ |
डिफ़ॉल्ट रूप से, App Check सेशन टोकन का इस्तेमाल करता है. इन टोकन के लिए, टाइम टू लिव (टीटीएल) को कॉन्फ़िगर किया जा सकता है. यह
हालांकि, रीप्ले अटैक से सुरक्षा की सुविधा लागू करके, सुरक्षा को और बेहतर बनाया जा सकता है. इसमें एक बार इस्तेमाल होने वाले टोकन का इस्तेमाल किया जाता है. रीप्ले प्रोटेक्शन लागू होने पर, ये काम होते हैं:
App Check, Firebase AI Logic के उन अनुरोधों को ब्लॉक कर देगा जिनमें सेशन टोकन का इस्तेमाल किया जाता है. इसके बजाय, App Check सिर्फ़ तब Firebase AI Logic को अनुरोध करने की अनुमति देगा, जब वह एक बार इस्तेमाल होने वाले नए टोकन का इस्तेमाल करेगा.
एक बार इस्तेमाल होने वाले टोकन की पुष्टि होने के बाद, टोकन का इस्तेमाल कर लिया जाता है, ताकि उसका इस्तेमाल सिर्फ़ एक बार किया जा सके. इससे, मान्य डेटा को सर्वर के साथ फिर से शेयर करके किए जाने वाले हमलों को रोकने में मदद मिलती है.
App Check SDK, हर अनुरोध के लिए एक बार इस्तेमाल होने वाला नया टोकन जनरेट करता है. ध्यान दें कि इस प्रोसेस की वजह से, आपके अनुरोधों पर असर पड़ सकता है. जैसे, अनुरोधों को प्रोसेस होने में ज़्यादा समय लग सकता है और कभी-कभी आपको शुल्क भी देना पड़ सकता है. यह शुल्क, अटेस्टेशन की सेवा देने वाली कंपनी के हिसाब से तय होता है.
रिप्ले अटैक से सुरक्षा की सुविधा को सेट अप और लागू करना
|
इस पेज पर, Gemini API की सेवा देने वाली कंपनी के हिसाब से कॉन्टेंट और कोड देखने के लिए, सेवा देने वाली कंपनी के नाम पर क्लिक करें. |
रीप्ले प्रोटेक्शन को सेट अप और लागू करने का तरीका यहां बताया गया है:
अगर आपने अब तक ऐसा नहीं किया है, तो इस पेज पर दिए गए निर्देशों का पालन करके, App Check सेट अप करें.
एक बार इस्तेमाल होने वाले टोकन का इस्तेमाल करने की सुविधा चालू करें.
इंस्टैंशिएशन के दौरान अपने ऐप्लिकेशन में,
useLimitedUseAppCheckTokensपैरामीटर कोtrueपर सेट करें:Swift
// ... // During instantiation, enable usage of limited-use tokens. let ai = FirebaseAI.firebaseAI( backend: .googleAI(), useLimitedUseAppCheckTokens: true ) // ...Kotlin
// ... // During instantiation, enable usage of limited-use tokens. val ai = Firebase.ai( backend = GenerativeBackend.googleAI(), useLimitedUseAppCheckTokens = true ) // ...Java
// ... // During instantiation, enable usage of limited-use tokens. FirebaseAI ai = FirebaseAI.getInstance( /* backend: */ GenerativeBackend.googleAI(), /* useLimitedUseAppCheckTokens: */ true ); // ...Web
// ... // During instantiation, enable usage of limited-use tokens. const ai = getAI(firebaseApp, { backend: new GoogleAIBackend(), useLimitedUseAppCheckTokens: true }); // ...Dart
// ... // During instantiation, enable usage of limited-use tokens final ai = await FirebaseAI.googleAI( useLimitedUseAppCheckTokens: true, ); // ...Unity
// ... // During instantiation, enable usage of limited-use tokens var ai = FirebaseAI.GetInstance( useLimitedUseAppCheckTokens: true ); // ...रीप्ले प्रोटेक्शन लागू करें.
अपने ऐप्लिकेशन के कोड बेस में, पक्का करें कि आपने एक बार इस्तेमाल होने वाले टोकन चालू किए हों (पिछला चरण देखें).
Firebase कंसोल में, सुरक्षा > App Check पर जाएं.
Firebase AI Logic के लिए, मेट्रिक व्यू को बड़ा करें.
पक्का करें कि सुरक्षा की बुनियादी सुविधा को लागू किया गया हो. इसके बाद, जारी रखें पर क्लिक करें.
रीप्ले प्रोटेक्शन के लिए, लागू नहीं किया गया (सिर्फ़ निगरानी के लिए) या लागू किया गया में से कोई एक विकल्प चुनें.
रीप्ले प्रोटेक्शन को कब लागू करना है, यह तय करने के लिए इन बातों का ध्यान रखें:
अगर आपके ज़्यादातर उपयोगकर्ता, आपके ऐप्लिकेशन के पुराने वर्शन का इस्तेमाल कर रहे हैं और उन्होंने एक बार इस्तेमाल होने वाले टोकन की सुविधा चालू नहीं की है, तो हमारा सुझाव है कि आप अपने अनुरोधों पर नज़र रखें. अगर रीप्ले प्रोटेक्शन को तुरंत लागू किया जाता है, तो उन उपयोगकर्ताओं के अनुरोध ब्लॉक कर दिए जाएंगे.
पुष्टि नहीं की गई: फिर से इस्तेमाल किया गया टोकन मेट्रिक को खास तौर पर मॉनिटर किया जा सकता है. यह उन अनुरोधों की संख्या है जिनमें ऐसा टोकन है जिसका इस्तेमाल पिछले अनुरोध में पहले ही किया जा चुका है. इस मेट्रिक को Firebase कंसोल में मॉनिटर करें. इसके लिए, सुरक्षा > App Check > एपीआई टैब पर जाएं.
अगर हाल ही में किए गए अनुरोधों का एक बड़ा हिस्सा इस कैटगरी में आता है, तो उपयोगकर्ताओं को परेशानी से बचाया जा सकता है. इसके लिए, रीप्ले अटैक से सुरक्षा की सुविधा को लागू करने से पहले, तब तक इंतज़ार करें, जब तक कि ज़्यादा उपयोगकर्ता आपके ऐप्लिकेशन के उस वर्शन पर अपडेट न कर लें जो एक बार इस्तेमाल होने वाले टोकन का इस्तेमाल करता है.
जानें कि Firebase AI Logic, App Check के साथ कैसे इंटिग्रेट होता है
Firebase AI Logic SDK टूल इस्तेमाल करने के लिए, आपके Firebase प्रोजेक्ट में Firebase AI Logic एपीआई (firebasevertexai.googleapis.com) चालू होना चाहिए. इसकी वजह यह है कि Firebase AI Logic SDK टूल से किए गए अनुरोध, सबसे पहले Firebase AI Logic सर्वर पर भेजे जाते हैं. यह सर्वर, प्रॉक्सी गेटवे के तौर पर काम करता है. यहां Firebase App Check की पुष्टि की जाती है. इसके बाद ही, अनुरोध को Gemini API पर भेजा जाता है और Gemini मॉडल को ऐक्सेस किया जाता है.
अक्सर पूछे जाने वाले सवाल और समस्या का हल
Firebase AI Logic से जुड़े अक्सर पूछे जाने वाले सवाल और समस्या हल करने के तरीके या गड़बड़ी के कोड देखें.