App Check की सेवा, कई कंपनियों के लिए पहले से ही उपलब्ध है: DeviceCheck और App Attest और Android पर Play Integrity और SafetyNet हैं, तो और वेब ऐप्लिकेशन में reCAPTCHA Enterprise (खास जानकारी). ये सेवा देने वाली ऐसी कंपनियां काफ़ी समझदार हैं जो ज़्यादा से ज़्यादा लोगों की ज़रूरतों को पूरा करती हैं डेवलपर. हालांकि, अपनी पसंद के मुताबिक, ऐप्लिकेशन की जांच करने की सुविधा को लागू किया जा सकता है सेवा देने वाली कंपनी. सेवा देने वाली किसी कंपनी का इस्तेमाल करना ज़रूरी है, जब:
आपको पहले से मौजूद सेवा देने वाली कंपनी के अलावा किसी दूसरी कंपनी का इस्तेमाल करना हो.
आप पहले से मौजूद सेवा देने वाली कंपनियों का इस्तेमाल ऐसे तरीकों से करना चाहते हैं जो काम नहीं करते.
आपको Apple, Android, और वेब. उदाहरण के लिए, डेस्कटॉप ओएस के लिए, ऐप्लिकेशन की जांच करने वाली कंपनियां बनाई जा सकती हैं या इंटरनेट ऑफ़ थिंग्स डिवाइस.
किसी भी प्लैटफ़ॉर्म पर, पुष्टि करने की अपनी तकनीकें लागू करनी हों.
खास जानकारी
ऐप्लिकेशन की जांच की सेवा देने वाली कस्टम कंपनी लागू करने के लिए, आपको एक सुरक्षित बैकएंड की ज़रूरत होगी ऐसा एनवायरमेंट जो Node.js Firebase एडमिन SDK चला सकता है. यह Cloud Functions हो सकता है. यह एक कंटेनर प्लैटफ़ॉर्म है, जैसे कि Cloud Run या आपका अपना सर्वर.
इस एनवायरमेंट से, आपको नेटवर्क से ऐक्सेस की जा सकने वाली ऐसी सेवा मिलेगी को आपके ऐप्लिकेशन क्लाइंट से प्रामाणिकता का सबूत मिलता है और—अगर प्रामाणिकता आपकी प्रामाणिकता का आकलन पास कर लेती है—इसके बाद, ऐप की जांच की जाती है टोकन. प्रामाणिकता के सबूत के तौर पर इस्तेमाल किए जाने वाले इंडिकेटर, इन बातों पर निर्भर करेंगे या फिर आपकी कंपनी के इंडिकेटर आविष्कार के लिए, कस्टम लॉजिक लागू करना है.
आम तौर पर, इस सेवा को REST या gRPC एंडपॉइंट के तौर पर दिखाया जाता है. हालांकि, यह जानकारी सब कुछ आसान है.
टोकन हासिल करने का एंडपॉइंट बनाना
नेटवर्क से ऐक्सेस किया जा सकने वाला ऐसा एंडपॉइंट बनाएं जिससे पुष्टि करने वाला डेटा मिल सके आपके क्लाइंट. उदाहरण के लिए, Cloud Functions का इस्तेमाल करना:
// Create endpoint at https://example-app.cloudfunctions.net/fetchAppCheckToken exports.fetchAppCheckToken = functions.https.onRequest((request, response) => { // ... });
पुष्टि करने वाले डेटा का आकलन करने वाले एंडपॉइंट लॉजिक में जोड़ें. यह है कोर लॉजिक, जिसमें आपको ऐप्लिकेशन की जांच करने की सुविधा देने वाली कंपनी की जानकारी देनी होगी. खुद को लिखो.
अगर आपको लगता है कि क्लाइंट भरोसेमंद है, तो मिंट करने के लिए एडमिन SDK का इस्तेमाल करें App Check टोकन की मदद से उसे क्लाइंट को वापस करना होगा और उसकी समयसीमा खत्म होने का समय तय करना होगा:
const admin = require('firebase-admin'); admin.initializeApp(); // ... admin.appCheck().createToken(appId) .then(function (appCheckToken) { // Token expires in an hour. const expiresAt = Math.floor(Date.now() / 1000) + 60 * 60; // Return appCheckToken and expiresAt to the client. }) .catch(function (err) { console.error('Unable to create App Check token.'); console.error(err); });
अगर क्लाइंट की प्रामाणिकता की पुष्टि नहीं हो पा रही है, तो गड़बड़ी का मैसेज दिखाएं (उदाहरण के लिए, कोई HTTP 403 गड़बड़ी दिखाता है).
ज़रूरी नहीं: ऐप्लिकेशन की जांच के लिए जारी किए गए टोकन के लिए, टाइम-टू-लाइव (टीटीएल) सेट करें एक
AppCheckTokenOptions
ऑब्जेक्ट पास करके अपनी पसंद के मुताबिक सेवा देने वाली कंपनी के लिएcreateToken()
. TTL को 30 मिनट से 7 के बीच की किसी भी वैल्यू पर सेट किया जा सकता है दिन. यह वैल्यू सेट करते समय, इन बातों का ध्यान रखें:- सुरक्षा: छोटे TTLs मज़बूत सुरक्षा देते हैं, क्योंकि यह ऐसी विंडो जिसके ज़रिए, लीक या इंटरसेप्ट किए गए टोकन का गलत इस्तेमाल किया जा सकता है हमलावर.
- परफ़ॉर्मेंस: छोटे TTL का मतलब है कि आपका ऐप्लिकेशन ज़्यादा पुष्टि करने की प्रक्रिया करेगा अक्सर. ऐसा इसलिए होता है, क्योंकि ऐप्लिकेशन के प्रमाणित करने की प्रक्रिया से नेटवर्क के लिए इंतज़ार का समय बढ़ जाता है हर बार किए जाने पर अनुरोध करता है, तो छोटा TTL, परफ़ॉर्मेंस पर असर डाल सकता है तीन सबसे सही तरीक़े यहाँ दिए गए हैं.
ज़्यादातर ऐप्लिकेशन के लिए 1 घंटे का डिफ़ॉल्ट TTL सही है.
अगले चरण
अब जब आपने अपनी पसंद के मुताबिक, सर्वर देने वाली कंपनी का सर्वर-साइड लॉजिक लागू कर लिया है, तो इसे अपने Apple से इस्तेमाल करने के लिए, Android और वेब क्लाइंट.