Catch up on everthing we announced at this year's Firebase Summit. Learn more

অ্যান্ড্রয়েডে অ্যাপ চেকের সাহায্যে অ-ফায়ারবেস সংস্থানগুলি রক্ষা করুন

আপনি অ্যাপ চেকের মাধ্যমে আপনার অ্যাপের নন-ফায়ারবেস সম্পদ যেমন স্ব-হোস্ট করা ব্যাকএন্ডগুলি রক্ষা করতে পারেন। এটি করার জন্য, আপনাকে নিম্নলিখিত দুটি করতে হবে:

  • এই পৃষ্ঠায় বর্ণিত হিসাবে আপনার ব্যাকএন্ডে প্রতিটি অনুরোধ সহ একটি অ্যাপ চেক টোকেন পাঠানোর জন্য আপনার অ্যাপ ক্লায়েন্টকে পরিবর্তন করুন।
  • একটি বৈধ অ্যাপ প্রত্যেক অনুরোধের সাথে টোকেন পরীক্ষা করে দেখুন, বর্ণনা অনুযায়ী প্রয়োজন আপনার ব্যাকএন্ড সংশোধন একটি কাস্টম ব্যাকএন্ড থেকে অ্যাপ্লিকেশন চেক টোকেন যাচাই করুন

তুমি শুরু করার আগে

আপনার অ্যাপ্লিকেশানে অ্যাপ চেক যোগ করুন, হয় ডিফল্ট ব্যবহার SafetyNet প্রদানকারী , অথবা একটি কাস্টম প্রদানকারী

ব্যাকএন্ড অনুরোধের সাথে অ্যাপ চেক টোকেন পাঠান

নিশ্চিত করার জন্য আপনার ব্যাকএন্ড অনুরোধ একটি বৈধ, অনুত্তীর্ণ, অ্যাপ টোকেন চেক করুন, একটি কল প্রতিটি অনুরোধ মোড়ানো অন্তর্ভুক্ত getAppCheckToken() । অ্যাপ চেক লাইব্রেরি প্রয়োজনে টোকেন রিফ্রেশ করবে, এবং আপনি পদ্ধতির সাফল্যের শ্রোতা টোকেন অ্যাক্সেস করতে পারেন।

একবার আপনার একটি বৈধ টোকেন হয়ে গেলে, এটি আপনার ব্যাকএন্ডে অনুরোধ সহ পাঠান। আপনি কিভাবে এই কাজ করা সম্ভব সুনির্দিষ্ট আপনি আপ, কিন্তু URL গুলির অংশ হিসেবে অ্যাপ চেক টোকেন পাঠাবেন না, ক্যোয়ারী পরামিতি সহ, এই তাদের আপতিক ফুটো এবং বাধাগুলি প্রবন করে তোলে। প্রস্তাবিত পদ্ধতি হল একটি কাস্টম HTTP হেডারে টোকেন পাঠানো।

উদাহরণস্বরূপ, যদি আপনি Retrofit ব্যবহার করেন:

জাভা

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 tokenResponse) {
                        String appCheckToken = tokenResponse.getToken();
                        Call<List<String>> apiCall =
                                yourExampleBackendService.exampleData(appCheckToken);
                        // ...
                    }
                });
    }
}

কোটলিন+কেটিএক্স

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() {
        FirebaseAppCheck.getInstance()
            .getAppCheckToken(false)
            .addOnSuccessListener { tokenResponse ->
                val appCheckToken = tokenResponse.token
                val apiCall = yourExampleBackendService.exampleData(appCheckToken)
                // ...
            }
    }
}