Flutter ऐप्लिकेशन में reCAPTCHA Enterprise के साथ App Check का इस्तेमाल शुरू करना

प्लैटफ़ॉर्म चुनें: iOS+ Android वेब Flutter


इस पेज पर, Flutter ऐप्लिकेशन में App Check सेट अप करने का तरीका बताया गया है, reCAPTCHA Enterprise प्रोवाइडर का इस्तेमाल करके. App Check की मदद से, यह पक्का किया जा सकता है कि आपके प्रोजेक्ट के बैकएंड रिसॉर्स को सिर्फ़ आपका ऐप्लिकेशन ही ऐक्सेस कर पाए. ज़्यादा जानने के लिए, हमारी खास जानकारी देखें App Check.

App Check के लिए, स्कोर के आधार पर reCAPTCHA पासकोड का इस्तेमाल करना ज़रूरी है. इससे, यह उपयोगकर्ताओं को नहीं दिखता. इसका मतलब है कि reCAPTCHA Enterprise प्रोवाइडर, उपयोगकर्ताओं से किसी भी समय चुनौती को हल करने के लिए नहीं कहेगा.

अगर आपके इस्तेमाल के मामले में, reCAPTCHA Enterprise उन सुविधाओं की ज़रूरत है जिन्हें App Check लागू नहीं करता है या अगर आपको App Check का इस्तेमाल, अपने पसंद के मुताबिक बनाए गए प्रोवाइडर के साथ करना है, तो App Check के लिए, पसंद के मुताबिक बनाए गए App Check प्रोवाइडर को लागू करना लेख पढ़ें.

.

1. अपना Firebase प्रोजेक्ट सेट अप करना

  1. अगर आपने पहले से ही Firebase इंस्टॉल और शुरू नहीं किया है, तो अपने Flutter प्रोजेक्ट में इसे इंस्टॉल और शुरू करें.

  2. Google Cloud console में, Fraud Defense पेज पर जाएं. इसके बाद, reCAPTCHA Enterprise प्रोवाइडर के लिए यह काम करें:

    1. पक्का करें कि आपने सही प्रोजेक्ट चुना हो. इसके लिए, स्क्रीन पर सबसे ऊपर मौजूद प्रोजेक्ट पिकर देखें.

    2. अगर आपसे कहा जाए, तो reCAPTCHA Enterprise API चालू करें.

    3. टारगेट प्लैटफ़ॉर्म के आधार पर, पासकोड बनाएं:

      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 पासकोड बनाना लेख पढ़ें.

    4. हर पासकोड को नोट करें. आपको इन्हें Firebase console में, रजिस्ट्रेशन फ़्लो में जोड़ना होगा.

  3. Firebase console में, सुरक्षा > App Check पर जाएं.

  4. ऐप्लिकेशन टैब में, टारगेट प्लैटफ़ॉर्म के अपने हर ऐप्लिकेशन को रजिस्टर करें, ताकि वे App Check का इस्तेमाल reCAPTCHA Enterprise प्रोवाइडर के साथ कर सकें. इसके लिए, आपको Google Cloud console में मिला पासकोड डालना होगा.

  5. ज़रूरी नहीं: टोकन के लाइव रहने की समयसीमा (टीटीएल) सेट करें.

    ऐप्लिकेशन रजिस्ट्रेशन सेटिंग में, प्रोवाइडर की ओर से जारी किए गए App Check टोकन के लिए, लाइव रहने की कस्टम समयसीमा (टीटीएल) सेट करें. टीटीएल को 30 मिनट से लेकर सात दिनों के बीच की कोई भी वैल्यू सेट की जा सकती है. इस वैल्यू को बदलते समय, इन बातों का ध्यान रखें:

    • सुरक्षा: टीटीएल कम होने पर, सुरक्षा बेहतर होती है. ऐसा इसलिए, क्योंकि इससे वह समय कम हो जाता है जिसमें लीक हुए या इंटरसेप्ट किए गए टोकन का इस्तेमाल, हमलावर गलत तरीके से कर सकता है.
    • परफ़ॉर्मेंस: टीटीएल कम होने का मतलब है कि आपका ऐप्लिकेशन, अटेस्टेशन की प्रोसेस ज़्यादा बार करेगा. ऐप्लिकेशन अटेस्टेशन की प्रोसेस, हर बार नेटवर्क अनुरोधों में देरी करती है. इसलिए, टीटीएल कम होने पर, आपके ऐप्लिकेशन की परफ़ॉर्मेंस पर असर पड़ सकता है.
    • कोटा और लागत: टीटीएल कम होने और बार-बार अटेस्टेशन करने से, आपका कोटा तेज़ी से खत्म हो जाता है. साथ ही, पैसे चुकाकर इस्तेमाल की जाने वाली सेवाओं के लिए, ज़्यादा लागत लग सकती है. कोटा और सीमाएं देखें.

    ज़्यादातर ऐप्लिकेशन के लिए, एक घंटे का डिफ़ॉल्ट टीटीएल सही होता है. ध्यान दें कि App Check लाइब्रेरी, टीटीएल की अवधि के करीब आधे समय में टोकन रीफ़्रेश करती है.

  6. ज़रूरी नहीं: ऐडवांस सेटिंग कॉन्फ़िगर करें.

  7. सेव करें पर क्लिक करें.

(ज़रूरी नहीं) ऐडवांस सेटिंग कॉन्फ़िगर करना

जब कोई उपयोगकर्ता आपका ऐप्लिकेशन खोलता है, तो 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 प्लग-इन जोड़ना होगा.

  1. प्लस-इन इंस्टॉल करने के लिए, अपने Flutter प्रोजेक्ट की रूट डायरेक्ट्री से यह कमांड चलाएं:

    flutter pub add firebase_app_check
    
  2. यह प्रोसेस पूरी होने के बाद, अपने 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 की सुविधा चालू करना

जब आपको यह पता चल जाए कि App Check से आपके उपयोगकर्ताओं पर क्या असर पड़ेगा और आप आगे बढ़ने के लिए तैयार हैं, तो App Check को लागू करने की सुविधा चालू करें:

डीबग एनवायरमेंट में App Check का इस्तेमाल करना

App Check कुछ एनवायरमेंट को अमान्य के तौर पर क्लासिफ़ाई करता है. जैसे, डेवलपमेंट के दौरान एम्युलेटर / सिम्युलेटर या localhost से किए गए अनुरोध या लगातार इंटिग्रेशन (सीआई) एनवायरमेंट से किए गए अनुरोध.

App Check लागू होने के बाद, इन तरह के एनवायरमेंट में अपना ऐप्लिकेशन चलाने के लिए, आपको अपने ऐप्लिकेशन का डीबग बिल्ड बनाना होगा. इसमें, App Check डीबग प्रोवाइडर का इस्तेमाल किया जाता है.

ज़्यादा जानकारी के लिए, App Check Flutter ऐप्लिकेशन में डीबग प्रोवाइडर के साथ इस्तेमाल करना लेख पढ़ें.

कीमत

App Check आपकी ओर से आकलन करता है, ताकि हर बार आपके ऐप्लिकेशन के App Check टोकन रीफ़्रेश होने पर, उपयोगकर्ता के रिस्पॉन्स टोकन की पुष्टि की जा सके. बिना किसी शुल्क वाले कोटे से ज़्यादा किए गए हर आकलन के लिए, आपके Firebase प्रोजेक्ट से शुल्क लिया जाएगा. ज़्यादा जानकारी के लिए, reCAPTCHA की कीमत देखें.

डिफ़ॉल्ट रूप से, आपका ऐप्लिकेशन इस टोकन को हर एक घंटे में दो बार रीफ़्रेश करेगा. यह कंट्रोल करने के लिए कि आपका ऐप्लिकेशन, App Check टोकन कितनी बार रीफ़्रेश करता है (और इस वजह से, नए आकलन कितनी बार किए जाते हैं), टोकन के टीटीएल को कॉन्फ़िगर किया जा सकता है.