पसंद के मुताबिक ऐप्लिकेशन जांच की सेवा देने वाली कंपनी लागू करें

App Check में कई प्लैटफ़ॉर्म के लिए पहले से मौजूद सपोर्ट शामिल है. जैसे, Apple प्लैटफ़ॉर्म पर DeviceCheck और App Attest, Android पर Play Integrity, और वेब ऐप्लिकेशन में reCAPTCHA Enterprise (खास जानकारी). ये ऐसे प्लैटफ़ॉर्म हैं जिनके बारे में ज़्यादातर डेवलपर जानते हैं. साथ ही, ये प्लैटफ़ॉर्म ज़्यादातर डेवलपर की ज़रूरतों को पूरा करते हैं. हालांकि, अपने हिसाब से कस्टम App Check प्लैटफ़ॉर्म भी लागू किए जा सकते हैं. कस्टम प्लैटफ़ॉर्म का इस्तेमाल तब करना ज़रूरी है, जब:

  • आपको पहले से मौजूद प्लैटफ़ॉर्म के अलावा, किसी दूसरे प्लैटफ़ॉर्म का इस्तेमाल करना हो.

  • आपको पहले से मौजूद प्लैटफ़ॉर्म का इस्तेमाल, उन तरीकों से करना हो जो प्लैटफ़ॉर्म के साथ काम नहीं करते.

  • आपको Apple, Android, और वेब के अलावा, किसी दूसरे प्लैटफ़ॉर्म का इस्तेमाल करके डिवाइसों की पुष्टि करनी हो. उदाहरण के लिए, डेस्कटॉप ओएस या इंटरनेट ऑफ़ थिंग्स डिवाइसों के लिए, App Check प्लैटफ़ॉर्म बनाए जा सकते हैं.

  • आपको किसी भी प्लैटफ़ॉर्म पर, पुष्टि करने के लिए अपनी तकनीकें लागू करनी हों.

खास जानकारी

कस्टम App Check प्लैटफ़ॉर्म लागू करने के लिए, आपको एक सुरक्षित बैकएंड एनवायरमेंट की ज़रूरत होगी. यह एनवायरमेंट, Node.js Firebase Admin SDK को चला सकता है. यह Cloud Functions Cloud Run जैसे कंटेनर प्लैटफ़ॉर्म या आपका अपना सर्वर हो सकता है.

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

आम तौर पर, इस सेवा को REST या gRPC एंडपॉइंट के तौर पर दिखाया जाता है. हालांकि, यह जानकारी आपके ऊपर निर्भर करती है.

टोकन पाने के लिए एंडपॉइंट बनाना

  1. इंस्टॉल करें और Admin SDK को शुरू करें.

  2. नेटवर्क के ज़रिए ऐक्सेस किया जा सकने वाला एक एंडपॉइंट बनाएं. यह एंडपॉइंट, आपके क्लाइंट से पुष्टि करने से जुड़ा डेटा ले सकता है. उदाहरण के लिए, Cloud Functions का इस्तेमाल करना:

    // Create endpoint at https://example-app.cloudfunctions.net/fetchAppCheckToken
    exports.fetchAppCheckToken = functions.https.onRequest((request, response) => {
      // ...
    });
    
  3. एंडपॉइंट लॉजिक में, पुष्टि करने से जुड़ा डेटा का आकलन करने वाला लॉजिक जोड़ें. यह आपके कस्टम App Check प्लैटफ़ॉर्म का मुख्य लॉजिक है. इसे आपको खुद लिखना होगा.

  4. अगर आपको लगता है कि क्लाइंट सही है, तो Admin 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);
       });
    

    अगर आपको क्लाइंट की पुष्टि करने में समस्या आ रही है, तो गड़बड़ी की सूचना दें. उदाहरण के लिए, एचटीटीपी 403 गड़बड़ी की सूचना दें.

  5. ज़रूरी नहीं: createToken() में AppCheckTokenOptions ऑब्जेक्ट पास करके, अपने कस्टम प्लैटफ़ॉर्म से जारी किए गए App Check टोकन के लिए, टाइम-टू-लाइव (टीटीएल) सेट करें. टीटीएल को 30 मिनट से लेकर सात दिनों के बीच की कोई भी वैल्यू पर सेट किया जा सकता है. यह वैल्यू सेट करते समय, इन बातों का ध्यान रखें:

    • सुरक्षा: टीटीएल की वैल्यू कम होने पर, सुरक्षा बेहतर होती है. ऐसा इसलिए, क्योंकि इससे उस समय को कम किया जा सकता है जिसमें लीक हुए या इंटरसेप्ट किए गए टोकन का इस्तेमाल, हमलावर गलत तरीके से कर सकता है.
    • परफ़ॉर्मेंस: टीटीएल की वैल्यू कम होने का मतलब है कि आपका ऐप्लिकेशन, पुष्टि की प्रक्रिया को ज़्यादा बार करेगा. ऐप्लिकेशन की पुष्टि की प्रक्रिया हर बार नेटवर्क अनुरोधों में देरी करती है. इसलिए, टीटीएल की वैल्यू कम होने पर, आपके ऐप्लिकेशन की परफ़ॉर्मेंस पर असर पड़ सकता है.

    ज़्यादातर ऐप्लिकेशन के लिए, एक घंटे का डिफ़ॉल्ट टीटीएल सही होता है.

अगले चरण

अब आपने अपने कस्टम प्लैटफ़ॉर्म के लिए, सर्वर-साइड लॉजिक लागू कर लिया है. अब जानें कि Apple, Android, और वेब क्लाइंट से इसका इस्तेमाल कैसे किया जाता है.