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

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


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

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

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

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

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

  2. Google Cloud कंसोल में, धोखाधड़ी से बचाव पेज पर जाएं. इसके बाद, reCAPTCHA Enterprise प्रोवाइडर के लिए यह तरीका अपनाएं:

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

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

    3. अपने टारगेट प्लैटफ़ॉर्म के हिसाब से कोई कुंजी बनाएं:

      iOS+

      iOS टाइप का पासकोड बनाएं. साथ ही, अपने ऐप्लिकेशन का बंडल आईडी डालें. उदाहरण के लिए, com.example.my_app.

      • पक्का करें कि आपने वही बंडल आईडी डाला हो जो आपने Firebase प्रोजेक्ट में Firebase Apple ऐप्लिकेशन बनाते समय दिया था. बंडल आईडी की वैल्यू केस-सेंसिटिव होती है.

      • App Check के लिए, हर बंडल आईडी सिर्फ़ एक reCAPTCHA कुंजी से जुड़ा हो सकता है.

      Android

      Android टाइप की कुंजी बनाएं और अपने ऐप्लिकेशन का पैकेज नाम डालें. उदाहरण के लिए, com.example.my_app.

      • पक्का करें कि आपने वही पैकेज का नाम डाला हो जो आपने Firebase प्रोजेक्ट में Firebase Android ऐप्लिकेशन बनाते समय दिया था. पैकेज के नाम की वैल्यू केस-सेंसिटिव होती है.

      • App Check के लिए, हर पैकेज का नाम सिर्फ़ एक reCAPTCHA पासकोड से जुड़ा हो सकता है.

      वेब

      वेब टाइप की कुंजी बनाएं. इसके बाद, अपने वेब ऐप्लिकेशन के लिए हर डोमेन तय करें.

      • App Check ऐसे वेब ऐप्लिकेशन के साथ काम नहीं करता जो 250 से ज़्यादा डोमेन पर काम करते हैं.

      • localhost को कभी भी उस reCAPTCHA कुंजी के डोमेन के तौर पर न जोड़ें जिसे प्रोडक्शन में डिप्लॉय किया गया है या डिप्लॉय किया जाना है.

      • "चेकबॉक्स चैलेंज का इस्तेमाल करें" विकल्प को अनचेक करें.

      ज़्यादा जानकारी के लिए, स्कोर के आधार पर reCAPTCHA कुंजियां बनाना लेख पढ़ें.

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

  3. Firebase console में, Security > App Check पर जाएं.

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

  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 कुछ एनवायरमेंट को अमान्य के तौर पर क्लासिफ़ाई करता है. जैसे, डेवलपमेंट के दौरान या लगातार इंटिग्रेशन (सीआई) एनवायरमेंट से, एम्युलेटर / सिम्युलेटर या लोकलहोस्ट से मिले अनुरोध.

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

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

कीमत

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

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