App Check की मदद से, Firebase से बाहर के संसाधनों को सुरक्षित रखना

Firebase को छोड़कर, अपने ऐप्लिकेशन के संसाधनों को सुरक्षित रखा जा सकता है. उदाहरण के लिए, खुद होस्ट किए गए बैकएंड, को ऐप्लिकेशन की जांच करने की सुविधा मिलती है. ऐसा करने के लिए, आपको ये दोनों काम करने होंगे:

  • अपने ऐप्लिकेशन क्लाइंट में बदलाव करें, ताकि वह हर अनुरोध के साथ App Check टोकन भेज सके अपने बैकएंड के लिए उपलब्ध है, जैसा कि इस पृष्ठ पर बताया गया है.
  • अपने बैकएंड में बदलाव करें, ताकि हर अनुरोध के साथ एक मान्य ऐप्लिकेशन चेक टोकन ज़रूरी हो. जैसा कि क��्टम बैकएंड से, ऐप्लिकेशन की जांच वाले टोकन की पुष्टि करने में बताया गया है.

शुरू करने से पहले

डिफ़ॉल्ट कंपनी का इस्तेमाल करके, अपने ऐप्लिकेशन में ऐप्लिकेशन की जांच करने की सुविधा जोड़ें.

बैकएंड अनुरोधों के साथ, ऐप्लिकेशन की जांच वाले टोकन भेजें

यह पक्का करने के लिए कि आपके बैकएंड अनुरोधों में ऐप्लिकेशन की जांच के लिए टोकन, मान्य, उसकी समयसीमा खत्म न हुई हो, प्रत्येक अनुरोध से पहले AppCheck::GetAppCheckToken() पर कॉल करें. ऐप्लिकेशन अगर ज़रूरी होगा, तो चेक लाइब्रेरी में टोकन रीफ़्रेश हो जाएगा.

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

उदाहरण के लिए:

void CallApiExample() {
    firebase_app_check::AppCheck* app_check = firebase::app_check::AppCheck::GetInstance();
    Future<std::string> app_check_future = app_check->GetAppCheckToken(false);
    app_check_future.OnCompletion([&](const Future<std::string>& future_token) {
        if (future_token.result()) {
            // Got a valid App Check token. Include it in your own http calls.
        }
    }
}