इस पेज पर, Flutter ऐप्लिकेशन में App Check की सुविधा चालू करने का तरीका बताया गया है. इसके लिए, डिफ़ॉल्ट प्रोवाइडर का इस्तेमाल किया जाता है: Android पर Play Integrity, Apple प्लैटफ़ॉर्म पर Device Check, और वेब पर reCAPTCHA v3. App Check की सुविधा चालू करने पर, यह पक्का करने में मदद मिलती है कि सिर्फ़ आपका ऐप्लिकेशन ही आपके प्रोजेक्ट के Firebase संसाधनों को ऐक्सेस कर सकता है. इस सुविधा के बारे में खास जानकारी देखें.
1. अपना Firebase प्रोजेक्ट सेट अप करना
अगर आपने अब तक FlutterFire इंस्टॉल और शुरू नहीं किया है, तो ऐसा करें.
Play Integrity, Device Check, और reCAPTCHA की सेवाएं देने वाली कंपनियों के साथ App Check का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन रजिस्टर करें. इसके लिए, Firebase कंसोल के प्रोजेक्ट सेटिंग > App Check सेक्शन पर जाएं.
आम तौर पर, आपको अपने प्रोजेक्ट के सभी ऐप्लिकेशन रजिस्टर करने होते हैं. ऐसा इसलिए, क्योंकि Firebase प्रॉडक्ट के लिए एनफ़ोर्समेंट चालू करने के बाद, सिर्फ़ रजिस्टर किए गए ऐप्लिकेशन ही प्रॉडक्ट के बैकएंड संसाधनों को ऐक्सेस कर पाएंगे.
ज़रूरी नहीं: ऐप्लिकेशन रजिस्ट्रेशन की सेटिंग में जाकर, App Check टोकन के लिए कस्टम टाइम-टू-लिव (टीटीएल) सेट करें. ये टोकन, पुष्टि करने वाली कंपनी जारी करती है. टीटीएल को 30 मिनट से लेकर सात दिनों के बीच की किसी भी वैल्यू पर सेट किया जा सकता है. इस वैल्यू को बदलते समय, इन बातों का ध्यान रखें:
- सुरक्षा: टीटीएल कम होने पर, सुरक्षा बेहतर होती है. ऐसा इसलिए, क्योंकि इससे उस समयावधि में कमी आती है जिसमें हमलावर, लीक हुए या इंटरसेप्ट किए गए टोकन का गलत इस्तेमाल कर सकता है.
- परफ़ॉर्मेंस: टीटीएल कम होने का मतलब है कि आपका ऐप्लिकेशन, पुष्टि करने की प्रोसेस को ज़्यादा बार करेगा. ऐप्लिकेशन की पुष्टि करने की प्रोसेस में, हर बार नेटवर्क अनुरोधों में देरी होती है. इसलिए, टीटीएल कम होने से आपके ऐप्लिकेशन की परफ़ॉर्मेंस पर असर पड़ सकता है.
- कोटा और लागत: टीटीएल कम होने और बार-बार पुष्टि करने से, आपका कोटा तेज़ी से खत्म हो जाता है. साथ ही, पैसे चुकाकर ली जाने वाली सेवाओं के लिए, आपको ज़्यादा शुल्क देना पड़ सकता है. कोटा और सीमाएं देखें.
डिफ़ॉल्ट टीटीएल, ज़्यादातर ऐप्लिकेशन के लिए सही होता है. ध्यान दें कि App Check लाइब्रेरी, टीटीएल की अवधि के आधे समय में टोकन रीफ़्रेश करती है.
2. अपने ऐप्लिकेशन में App Check लाइब्रेरी जोड़ना
प्लगिन इंस्टॉल करने के लिए, अपने Flutter प्रोजेक्ट के रूट से यह कमांड चलाएं:
flutter pub add firebase_app_checkअपडेट हो जाने के बाद, अपने Flutter ऐप्लिकेशन को फिर से बनाएं:
flutter run
3. ऐप्लिकेशन की जांच की सुविधा चालू करना
अपने ऐप्लिकेशन में यहां दिया गया कोड जोड़ें, ताकि यह कोड Firebase की किसी भी सेवा (जैसे कि Storage) का इस्तेमाल करने से पहले चले. हालांकि, यह कोड Firebase.initializeApp() को कॉल करने के बाद चलना चाहिए;
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(
// You can also use a `ReCaptchaEnterpriseProvider` provider instance as an
// argument for `webProvider`
webProvider: ReCaptchaV3Provider('recaptcha-v3-site-key'),
// Default provider for Android is the Play Integrity provider. You can use the "AndroidProvider" enum to choose
// your preferred provider. Choose from:
// 1. Debug provider
// 2. Safety Net provider
// 3. Play Integrity provider
androidProvider: AndroidProvider.debug,
// Default provider for iOS/macOS is the Device Check provider. You can use the "AppleProvider" enum to choose
// your preferred provider. Choose from:
// 1. Debug provider
// 2. Device Check provider
// 3. App Attest provider
// 4. App Attest provider with fallback to Device Check provider (App Attest provider is only available on iOS 14.0+, macOS 14.0+)
appleProvider: AppleProvider.appAttest,
);
runApp(App());
}
अगले चरण
अपने ऐप्लिकेशन में App Check लाइब्रेरी इंस्टॉल करने के बाद, अपडेट किए गए ऐप्लिकेशन को उपयोगकर्ताओं के साथ शेयर करें.
अपडेट किया गया क्लाइंट ऐप्लिकेशन, Firebase को किए जाने वाले हर अनुरोध के साथ App Check टोकन भेजना शुरू कर देगा. हालांकि, जब तक Firebase कंसोल के App Check सेक्शन में जाकर, टोकन की पुष्टि करने की सुविधा चालू नहीं की जाती, तब तक Firebase प्रॉडक्ट को टोकन की पुष्टि करने की ज़रूरत नहीं होगी.
मेट्रिक मॉनिटर करना और उल्लंघन ठीक करने के तरीके लागू करना
हालांकि, नीति उल्लंघन ठीक करने के लिए कार्रवाई करने की सुविधा चालू करने से पहले, आपको यह पक्का करना होगा कि इससे आपके मौजूदा असली उपयोगकर्ताओं को कोई परेशानी न हो. दूसरी ओर, अगर आपको अपने ऐप्लिकेशन के संसाधनों का संदिग्ध इस्तेमाल दिख रहा है, तो आपको नीति उल्लंघन ठीक करने के लिए, ऐप्लिकेशन पर पाबंदी लगाने की सुविधा को जल्द चालू करना चाहिए.
यह फ़ैसला लेने में आपकी मदद करने के लिए, उन सेवाओं के लिए App Check की मेट्रिक देखें जिनका इस्तेमाल किया जाता है:
- Realtime Database, Cloud Firestore, Cloud Storage, और Authentication के लिए, App Check के अनुरोधों से जुड़ी मेट्रिक की निगरानी करें.
- Cloud Functions के लिए, App Check के अनुरोध की मेट्रिक की निगरानी करें.
App Check लागू करने की सुविधा चालू करना
जब आपको यह पता चल जाए कि App Check से आपके उपयोगकर्ताओं पर क्या असर पड़ेगा और आप आगे बढ़ने के लिए तैयार हों, तो App Check लागू करने की सुविधा चालू करें:
- Realtime Database, Cloud Firestore, Cloud Storage, और Authentication के लिए, App Check लागू करने की सुविधा चालू करें.
- Cloud Functions के लिए, App Check लागू करने की सुविधा चालू करें.
डीबग एनवायरमेंट में App Check का इस्तेमाल करना
अगर आपने App Check के लिए अपने ऐप्लिकेशन को रजिस्टर कर लिया है और आपको अपने ऐप्लिकेशन को ऐसे एनवायरमेंट में चलाना है जिसे App Check आम तौर पर मान्य नहीं मानता, तो आपके पास अपने ऐप्लिकेशन का डीबग बिल्ड बनाने का विकल्प होता है. जैसे, डेवलपमेंट के दौरान एम्युलेटर में या कंटीन्यूअस इंटिग्रेशन (सीआई) एनवायरमेंट में. यह बिल्ड, पुष्टि करने वाले असली प्रोवाइडर के बजाय App Check के डीबग प्रोवाइडर का इस्तेमाल करता है.
Flutter ऐप्लिकेशन में डीबग प्रोवाइडर के साथ App Check का इस्तेमाल करना लेख पढ़ें.