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