| प्लैटफ़ॉर्म चुनें: | iOS+ Android वेब Flutter |
इस पेज पर, Flutter ऐप्लिकेशन में reCAPTCHA Enterprise प्रोवाइडर का इस्तेमाल करके, App Check सेट अप करने का तरीका बताया गया है. App Check की मदद से, यह पक्का किया जा सकता है कि सिर्फ़ आपका ऐप्लिकेशन, आपके प्रोजेक्ट के बैकएंड रिसॉर्स को ऐक्सेस कर सके. ज़्यादा जानने के लिए, हमारी खास जानकारी देखें App Check.
App Check के लिए, स्कोर के आधार पर reCAPTCHA पासकोड का इस्तेमाल करना ज़रूरी है. इससे, यह उपयोगकर्ताओं को नहीं दिखता. इसका मतलब है कि reCAPTCHA Enterprise प्रोवाइडर, उपयोगकर्ताओं से किसी भी समय कोई चुनौती हल करने के लिए नहीं कहेगा.
अगर आपके इस्तेमाल के मामले में, reCAPTCHA Enterprise उन सुविधाओं की ज़रूरत है जिन्हें App Check लागू नहीं करता है या अगर आपको App Check का इस्तेमाल, अपने पसंद के मुताबिक बनाए गए प्रोवाइडर के साथ करना है, तो App Check के लिए, पसंद के मुताबिक बनाया गया प्रोवाइडर लागू करना लेख पढ़ें.
1. अपना Firebase प्रोजेक्ट सेट अप करना
अगर आपने पहले से ही Firebase इंस्टॉल और शुरू नहीं किया है, तो अपने Flutter प्रोजेक्ट में Firebase इंस्टॉल और शुरू करें.
Google Cloud console में, Fraud Defense पेज पर जाएं. इसके बाद, reCAPTCHA Enterprise प्रोवाइडर के लिए यह काम करें:
पक्का करें कि आपने सही प्रोजेक्ट चुना हो. इसके लिए, स्क्रीन पर सबसे ऊपर मौजूद प्रोजेक्ट पिकर देखें.
अगर आपसे कहा जाए, तो reCAPTCHA Enterprise API चालू करें.
अपने टारगेट प्लैटफ़ॉर्म के आधार पर, पासकोड बनाएं:
iOS+
iOS टाइप का पासकोड बनाएं और अपने ऐप्लिकेशन का बंडल आईडी डालें. उदाहरण के लिए,
com.example.my_app.पक्का करें कि आपने वही बंडल आईडी डाला हो जो Firebase प्रोजेक्ट में, Firebase Apple ऐप्लिकेशन बनाते समय डाला था. बंडल आईडी की वैल्यू, केस-सेंसिटिव होती है.
App Check के लिए, हर बंडल आईडी सिर्फ़ एक single reCAPTCHA पासकोड से जोड़ा जा सकता है.
Android
Android टाइप का पासकोड बनाएं और अपने ऐप्लिकेशन के पैकेज का नाम डालें. उदाहरण के लिए,
com.example.my_app.पक्का करें कि आपने वही पैकेज का नाम डाला हो जो Firebase प्रोजेक्ट में, Firebase Android ऐप्लिकेशन बनाते समय डाला था. पैकेज के नाम की वैल्यू, केस-सेंसिटिव होती है.
App Check के लिए, हर पैकेज का नाम सिर्फ़ एक single reCAPTCHA पासकोड से जोड़ा जा सकता है.
वेब
वेब टाइप का पासकोड बनाएं और अपने वेब ऐप्लिकेशन के हर डोमेन की जानकारी डालें.
App Check App Check, 250 से ज़्यादा डोमेन पर काम करने वाले वेब ऐप्लिकेशन को सपोर्ट नहीं करता है.
कभी भी
localhostको ऐसे reCAPTCHA पासकोड के डोमेन के तौर पर न जोड़ें जिसे प्रोडक्शन में डिप्लॉय किया गया हो या डिप्लॉय किया जाना हो."चेकबॉक्स वाली चुनौती का इस्तेमाल करें" विकल्प को नहीं चुना जाना चाहिए.
ज़्यादा जानकारी के लिए, स्कोर के आधार पर reCAPTCHA पासकोड बनाना लेख पढ़ें.
हर पासकोड को नोट करें. आपको इन्हें Firebase console में, रजिस्ट्रेशन फ़्लो में जोड़ना होगा.
Firebase console में, सुरक्षा > App Check पर जाएं.
ऐप्लिकेशन टैब में, अपने टारगेट प्लैटफ़ॉर्म के हर ऐप्लिकेशन को रजिस्टर करें, ताकि वे reCAPTCHA Enterprise प्रोवाइडर के साथ App Check का इस्तेमाल कर सकें. इसके लिए, आपको Google Cloud console से मिला पासकोड डालना होगा.
ज़रूरी नहीं: टोकन के लिए टाइम टू लिव (टीटीएल) सेट करें.
ऐप्लिकेशन रजिस्ट्रेशन सेटिंग में, प्रोवाइडर की ओर से जारी किए गए App Check टोकन के लिए, पसंद के मुताबिक टाइम टू लिव (टीटीएल) सेट करें. आप TTL को 30 मिनट से लेकर 7 दिनों के बीच की कोई भी वैल्यू सेट कर सकते हैं. इस वैल्यू को बदलते समय, इन बातों का ध्यान रखें:
- सुरक्षा: टीटीएल की वैल्यू कम होने पर, सुरक्षा बेहतर होती है. ऐसा इसलिए, क्योंकि इससे वह समय कम हो जाता है जिसमें लीक हुए या इंटरसेप्ट किए गए टोकन का इस्तेमाल, हमलावर गलत तरीके से कर सकता है.
- परफ़ॉर्मेंस: टीटीएल की वैल्यू कम होने का मतलब है कि आपका ऐप्लिकेशन, अटेस्टेशन की प्रोसेस ज़्यादा बार करेगा. ऐप्लिकेशन अटेस्टेशन की प्रोसेस हर बार नेटवर्क अनुरोधों में देरी करती है. इसलिए, टीटीएल की वैल्यू कम होने से, आपके ऐप्लिकेशन की परफ़ॉर्मेंस पर असर पड़ सकता है.
- कोटा और लागत: टीटीएल की वैल्यू कम होने और बार-बार अटेस्टेशन करने से, आपका कोटा तेज़ी से खत्म हो जाता है. साथ ही, पैसे चुकाकर ली जाने वाली सेवाओं के लिए, ज़्यादा लागत लग सकती है. कोटा और सीमाएं देखें.
ज़्यादातर ऐप्लिकेशन के लिए, एक घंटे का डिफ़ॉल्ट टीटीएल सही है. ध्यान दें कि App Check लाइब्रेरी, TTL की अवधि के करीब आधे समय में टोकन रीफ़्रेश करती है.
ज़रूरी नहीं: ऐडवांस सेटिंग कॉन्फ़िगर करें.
सेव करें पर क्लिक करें.
(ज़रूरी नहीं) ऐडवांस सेटिंग कॉन्फ़िगर करना
जब कोई उपयोगकर्ता आपका ऐप्लिकेशन खोलता है, तो reCAPTCHA Enterprise पासकोड के तहत उपयोगकर्ता के इंटरैक्शन से जुड़े जोखिम के लेवल का आकलन करता है. इसके बाद, 0.0 से 1.0 के बीच का स्कोर दिखाता है. यह स्कोर, 0.1 के अंतर से बढ़ता है.
- 0.0 का स्कोर, यह दिखाता है कि इंटरैक्शन से ज़्यादा जोखिम है और यह धोखाधड़ी हो सकती है.
- 1.0 का स्कोर, यह दिखाता है कि इंटरैक्शन से कम जोखिम है और यह सही होने की संभावना ज़्यादा है.
App Check की मदद से, ऐप्लिकेशन के जोखिम का थ्रेशोल्ड कॉन्फ़िगर किया जा सकता है. इससे, इस जोखिम के लिए अपनी टॉलरेंस को अडजस्ट किया जा सकता है.
ज़्यादातर मामलों में, 0.5 की डिफ़ॉल्ट थ्रेशोल्ड वैल्यू का सुझाव दिया जाता है. अगर आपके इस्तेमाल के मामले में, इस वैल्यू को अडजस्ट करने की ज़रूरत है, तो Firebase console में अपने हर ऐप्लिकेशन के लिए, इस वैल्यू को कॉन्फ़िगर किया जा सकता है. इसके लिए, सुरक्षा > App Check पर जाएं. ऐप्लिकेशन के जोखिम का थ्रेशोल्ड कॉन्फ़िगर करने के बारे में कुछ अहम बातें जानने के लिए, नीचे दी गई जानकारी देखें.
2. अपने ऐप्लिकेशन में App Check प्लग-इन जोड़ना
reCAPTCHA Enterprise प्रोवाइडर का इस्तेमाल करने के लिए, आपको संबंधित App Check प्लग-इन जोड़ना होगा.
प्लग-इन इंस्टॉल करने के लिए, अपने Flutter प्रोजेक्ट की रूट डायरेक्ट्री से यह कमांड चलाएं:
flutter pub add firebase_app_checkयह प्रोसेस पूरी होने के बाद, अपने Flutter प्रोजेक्ट को फिर से बनाएं:
flutter run
3. App Check शुरू करना
अपने ऐप्लिकेशन में, Firebase की अन्य सेवाओं का इस्तेमाल करने से पहले, आपको App Check शुरू करना होगा.
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_app_check/firebase_app_check.dart';
import 'firebase_options.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
await FirebaseAppCheck.instance.activate(
providerWeb: ReCaptchaEnterpriseProvider(WEB_SITE_KEY),
providerAndroid: const AndroidReCaptchaProvider(ANDROID_SITE_KEY),
providerApple: const AppleReCaptchaProvider(IOS_SITE_KEY),
);
runApp(App());
}
4. मेट्रिक मॉनिटर करना और लागू करने की सुविधा चालू करना
अपने ऐप्लिकेशन में App Check सेट अप करने के बाद, अपडेट किया गया ऐप्लिकेशन अपने उपयोगकर्ताओं को डिस्ट्रिब्यूट करें.
अपडेट किया गया क्लाइंट ऐप्लिकेशन, Firebase को किए जाने वाले हर अनुरोध के साथ, App Check टोकन भेजने लगेगा. हालांकि, App Check अमान्य टोकन वाले अनुरोधों को ब्लॉक नहीं करेगा जब तक कि App Check लागू नहीं हो जाता.
मेट्रिक मॉनिटर करना
_**लागू करने की सुविधा चालू करने से पहले**_, पक्का करें कि ऐसा करने से, आपके मौजूदा सही उपयोगकर्ताओं को कोई परेशानी न हो. हालांकि, अगर आपको अपने ऐप्लिकेशन के रिसॉर्स का संदिग्ध इस्तेमाल दिख रहा है, तो हो सकता है कि आपको लागू करने की सुविधा जल्द चालू करनी पड़े.
यह फ़ैसला लेने में मदद पाने के लिए, इस्तेमाल की जाने वाली सेवाओं के लिए, App Check मेट्रिक देखी जा सकती हैं:
- के लिए, App Check अनुरोध की मेट्रिक मॉनिटर करें Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, iOS के लिए Google Identity, Maps JavaScript API, और Places API (नया).
- के लिए, App Check के अनुरोध की मेट्रिक मॉनिटर करें Cloud Functions.
लागू करने App Check की सुविधा चालू करना
जब आपको यह पता चल जाए कि App Check से आपके उपयोगकर्ताओं पर क्या असर पड़ेगा और आप आगे बढ़ने के लिए तैयार हैं, तब App Check को लागू करने की सुविधा चालू की जा सकती है:
- Google Identity for iOS, Maps JavaScript API, और Places API (नया) के लिए, App Check लागू करने की सुविधा चालू करें Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication.
- के लिए, Cloud Functions को लागू करने की सुविधा चालू करें App Check.
डीबग एनवायरमेंट में App Check का इस्तेमाल करना
App Check कुछ एनवायरमेंट को अमान्य के तौर पर क्लासिफ़ाई करता है. जैसे, डेवलपमेंट के दौरान एम्युलेटर / सिम्युलेटर या localhost से किए गए अनुरोध या कंटीन्यूअस इंटिग्रेशन (सीआई) एनवायरमेंट से किए गए अनुरोध.
App Check को लागू करने के बाद, इन तरह के एनवायरमेंट में अपना ऐप्लिकेशन चलाने के लिए, आपको अपने ऐप्लिकेशन का डीबग बिल्ड बनाना होगा. इसमें, प्रोडक्शन अटेस्टेशन प्रोवाइडर के बजाय, App Check डीबग प्रोवाइडर का इस्तेमाल किया जाता है.
ज़्यादा जानकारी के लिए, App Check Flutter ऐप्लिकेशन में डीबग प्रोवाइडर के साथ इस्तेमाल करना लेख पढ़ें.
कीमत
App Check आपकी ओर से आकलन करता है, ताकि हर बार आपके ऐप्लिकेशन के App Check टोकन रीफ़्रेश होने पर, उपयोगकर्ता के रिस्पॉन्स टोकन की पुष्टि की जा सके. बिना किसी शुल्क वाले कोटे से ज़्यादा बनाए गए हर आकलन के लिए, आपके Firebase प्रोजेक्ट से शुल्क लिया जाएगा. ज़्यादा जानकारी के लिए, reCAPTCHA की कीमत देखें.
डिफ़ॉल्ट रूप से, आपका ऐप्लिकेशन इस टोकन को हर एक घंटे में दो बार रीफ़्रेश करेगा. यह कंट्रोल करने के लिए कि आपका ऐप्लिकेशन, App Check टोकन कितनी बार रीफ़्रेश करता है (और इस वजह से, नए आकलन कितनी बार किए जाते हैं), टोकन के लिए टीटीएल कॉन्फ़िगर किया जा सकता है.