इस पेज पर, Flutter ऐप्लिकेशन में App Check की सुविधा चालू करने का तरीका बताया गया है. इसके लिए, डिफ़ॉल्ट प्रोवाइडर का इस्तेमाल किया जाता है. जैसे, Android पर Play Integrity, Apple प्लैटफ़ॉर्म पर Device Check, और वेब पर reCAPTCHA वर्शन 3. App Check की सुविधा चालू करने पर, यह पक्का करने में मदद मिलती है कि आपके प्रोजेक्ट के Firebase संसाधनों को सिर्फ़ आपका ऐप्लिकेशन ऐक्सेस कर सके. इस सुविधा की खास जानकारी देखें .
1. अपना Firebase प्रोजेक्ट सेट अप करना
अगर आपने अब तक FlutterFire इंस्टॉल और शुरू नहीं किया है, तो ऐसा करें.
Firebase console में, सुरक्षा > App Check पर जाएं.
ऐप्लिकेशन टैब में, App Check का इस्तेमाल करने के लिए, Play Integrity, DeviceCheck, और reCAPTCHA प्रोवाइडर के साथ अपने ऐप्लिकेशन रजिस्टर करें.
आम तौर पर, आपको अपने प्रोजेक्ट के सभी ऐप्लिकेशन रजिस्टर करने होते हैं. ऐसा इसलिए, क्योंकि Firebase प्रॉडक्ट के लिए, लागू करने की सुविधा चालू करने के बाद, सिर्फ़ रजिस्टर किए गए ऐप्लिकेशन ही प्रॉडक्ट के बैकएंड संसाधनों को ऐक्सेस कर पाएंगे.
ज़रूरी नहीं: ऐप्लिकेशन रजिस्ट्रेशन सेटिंग में, प्रोवाइडर की ओर से जारी किए गए App Check टोकन के लिए, कस्टम टाइम-टू-लाइव (टीटीएल) सेट करें. टीटीएल की वैल्यू, 30 मिनट से लेकर सात दिनों के बीच सेट की जा सकती है. इस वैल्यू को बदलते समय, इन बातों का ध्यान रखें:
- सुरक्षा: टीटीएल की वैल्यू कम होने पर, सुरक्षा बेहतर होती है. ऐसा इसलिए, क्योंकि इससे वह समय कम हो जाता है जिसमें लीक या इंटरसेप्ट किए गए टोकन का इस्तेमाल, हमलावर गलत तरीके से कर सकता है.
- परफ़ॉर्मेंस: टीटीएल की वैल्यू कम होने का मतलब है कि आपका ऐप्लिकेशन, एटेस्टेशन की प्रोसेस को ज़्यादा बार करेगा. ऐप्लिकेशन एटेस्टेशन की प्रोसेस हर बार नेटवर्क अनुरोधों में देरी करती है. इसलिए, टीटीएल की वैल्यू कम होने पर, आपके ऐप्लिकेशन की परफ़ॉर्मेंस पर असर पड़ सकता है.
- कोटा और लागत: टीटीएल की वैल्यू कम होने और बार-बार एटेस्टेशन की प्रोसेस होने से, आपका कोटा तेज़ी से खत्म हो सकता है. साथ ही, पैसे चुकाकर इस्तेमाल की जाने वाली सेवाओं के लिए, ज़्यादा लागत लग सकती है. कोटे और सीमाएं देखें.
ज़्यादातर ऐप्लिकेशन के लिए, डिफ़ॉल्ट टीटीएल सही होता है. ध्यान दें कि App Check की लाइब्रेरी, टीटीएल की अवधि के लगभग आधे समय में टोकन रीफ़्रेश करती है.
2. अपने ऐप्लिकेशन में App Check की लाइब्रेरी जोड़ना
प्लग-इन इंस्टॉल करने के लिए, अपने Flutter प्रोजेक्ट के रूट से यह कमांड चलाएं:
flutter pub add firebase_app_checkयह प्रोसेस पूरी होने के बाद, अपना Flutter ऐप्लिकेशन फिर से बनाएं:
flutter run
3. App Check शुरू करना
अपने ऐप्लिकेशन में, शुरू करने का यह कोड जोड़ें, ताकि यह Storage जैसी Firebase की किसी भी सेवा का इस्तेमाल करने से पहले चले. हालांकि, यह कोड 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 console के App Check सेक्शन में, लागू करने की सुविधा चालू करने तक, Firebase प्रॉडक्ट के लिए टोकन का मान्य होना ज़रूरी नहीं होगा.
मेट्रिक मॉनिटर करना और लागू करने की सुविधा चालू करना
हालांकि, लागू करने की सुविधा चालू करने से पहले, आपको यह पक्का करना चाहिए कि ऐसा करने से, आपके मौजूदा असली उपयोगकर्ताओं पर कोई असर न पड़े. दूसरी ओर, अगर आपको अपने ऐप्लिकेशन के संसाधनों का संदिग्ध इस्तेमाल दिख रहा है, तो आपको लागू करने की सुविधा जल्द ही चालू कर देनी चाहिए.
यह फ़ैसला लेने के लिए, इस्तेमाल की जाने वाली सेवाओं के लिए App Check की मेट्रिक देखी जा सकती हैं:
- रीयलटाइम डेटाबेस, 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 का इस्तेमाल करना लेख पढ़ें.