Firebase को छोड़कर, अपने ऐप्लिकेशन के संसाधनों को सुरक्षित रखा जा सकता है. उदाहरण के लिए, खुद होस्ट किए गए बैकएंड, App Check के साथ. ऐसा करने के लिए, आपको ये दोनों काम करने होंगे:
- हर अनुरोध के साथ App Check टोकन भेजने के लिए, अपने ऐप्लिकेशन क्लाइंट में बदलाव करें अपने बैकएंड के लिए उपलब्ध है, जैसा कि इस पृष्ठ पर बताया गया है.
- अपने बैकएंड में बदलाव करें, ताकि हर अनुरोध के साथ एक मान्य App Check टोकन ज़रूरी हो. जैसा कि किसी कस्टम बैकएंड से App Check टोकन की पुष्टि करें में बताया गया है.
शुरू करने से पहले
डिफ़ॉल्ट के तौर पर सेट किए गए किसी भी विकल्प का इस्तेमाल करके, App Check को अपने ऐप्लिकेशन में जोड़ें Play को पूरी सुरक्षा देने की सुविधा या पसंद के मुताबिक सेवा देने वाली कंपनी.
बैकएंड अनुरोधों के साथ App Check टोकन भेजें
यह पक्का करने के लिए कि आपके बैकएंड अनुरोधों में मान्य App Check टोकन शामिल है, जिसकी समयसीमा खत्म नहीं हुई है,
getAppCheckToken()
को किए गए कॉल में हर अनुरोध को शामिल करें. App Check लाइब्रेरी
ज़रूरत पड़ने पर टोकन को रीफ़्रेश कर देगा और टोकन को यहां जाकर ऐक्सेस कर सकता है:
का सबसे अहम हिस्सा है.
आपको मान्य टोकन मिलने के बाद, उसे अपने बैकएंड पर अनुरोध के साथ भेजें. कॉन्टेंट बनाने यह आप पर निर्भर करता है कि आप इसे कैसे पूरा करते हैं, लेकिन यूआरएल के हिस्से के तौर पर App Check टोकन. इसमें क्वेरी पैरामीटर भी शामिल हैं. इनके अलावा, इनमें गलती से होने वाले लीक और इंटरसेप्शन का खतरा ज़्यादा होता है. इसका सुझाव टोकन को किसी कस्टम एचटीटीपी हेडर में भेजने का तरीका बताया गया है.
उदाहरण के लिए, अगर Retrofit का इस्तेमाल किया जाता है, तो:
Kotlin+KTX
class ApiWithAppCheckExample { interface YourExampleBackendService { @GET("yourExampleEndpoint") fun exampleData( @Header("X-Firebase-AppCheck") appCheckToken: String, ): Call<List<String>> } var yourExampleBackendService: YourExampleBackendService = Retrofit.Builder() .baseUrl("https://yourbackend.example.com/") .build() .create(YourExampleBackendService::class.java) fun callApiExample() { Firebase.appCheck.getAppCheckToken(false).addOnSuccessListener { appCheckToken -> val token = appCheckToken.token val apiCall = yourExampleBackendService.exampleData(token) // ... } } }
Java
public class ApiWithAppCheckExample { private interface YourExampleBackendService { @GET("yourExampleEndpoint") Call<List<String>> exampleData( @Header("X-Firebase-AppCheck") String appCheckToken); } YourExampleBackendService yourExampleBackendService = new Retrofit.Builder() .baseUrl("https://yourbackend.example.com/") .build() .create(YourExampleBackendService.class); public void callApiExample() { FirebaseAppCheck.getInstance() .getAppCheckToken(false) .addOnSuccessListener(new OnSuccessListener<AppCheckToken>() { @Override public void onSuccess(@NonNull AppCheckToken appCheckToken) { String token = appCheckToken.getToken(); Call<List<String>> apiCall = yourExampleBackendService.exampleData(token); // ... } }); } }
रीप्ले प्रोटेक्शन (बीटा वर्शन)
किसी ऐसे एंडपॉइंट को अनुरोध करते समय जिसके लिए आपने अनुरोध किया है
फिर से चलाने पर मिलने वाली सुरक्षा,
अनुरोध को इसके बजाय getLimitedUseAppCheckToken()
को कॉल में रैप करें
getAppCheckToken()
:
Kotlin+KTX
Firebase.appCheck.limitedUseAppCheckToken.addOnSuccessListener { // ... }
Java
FirebaseAppCheck.getInstance() .getLimitedUseAppCheckToken().addOnSuccessListener( new OnSuccessListener<AppCheckToken>() { @Override public void onSuccess(AppCheckToken appCheckToken) { String token = appCheckToken.getToken(); // ... } } );