আপনার API কী সুরক্ষিত করতে অ্যাপ চেক ব্যবহার করুন (নতুন)

ফায়ারবেস অ্যাপ চেক আপনার অ্যাপ থেকে Google মানচিত্র প্ল্যাটফর্মে কলের জন্য সুরক্ষা প্রদান করে যা বৈধ অ্যাপ ছাড়া অন্য উৎস থেকে আসা ট্রাফিক ব্লক করে। এটি প্লে ইন্টিগ্রিটির মতো একটি প্রত্যয়ন প্রদানকারীর কাছ থেকে একটি টোকেন চেক করে এটি করে। অ্যাপ চেকের সাথে আপনার অ্যাপগুলিকে একীভূত করা দূষিত অনুরোধগুলি থেকে রক্ষা করতে সহায়তা করে, তাই আপনাকে অননুমোদিত API কলগুলির জন্য চার্জ করা হবে না।

অ্যাপ চেক কি আমার জন্য সঠিক?

বেশিরভাগ ক্ষেত্রে অ্যাপ চেক করার পরামর্শ দেওয়া হয়, তবে অ্যাপ চেকের প্রয়োজন নেই বা নিম্নলিখিত ক্ষেত্রে সমর্থিত নয়:

  • ব্যক্তিগত বা পরীক্ষামূলক অ্যাপ। যদি আপনার অ্যাপ সর্বজনীনভাবে অ্যাক্সেসযোগ্য না হয় তবে অ্যাপ চেকের প্রয়োজন নেই।
  • যদি আপনার অ্যাপ শুধুমাত্র সার্ভার-টু-সার্ভার ব্যবহার করা হয়, অ্যাপ চেকের প্রয়োজন নেই। যাইহোক, যদি GMP এর সাথে যোগাযোগ করে এমন সার্ভারটি পাবলিক ক্লায়েন্টদের দ্বারা ব্যবহার করা হয় (যেমন মোবাইল অ্যাপস), GMP এর পরিবর্তে সেই সার্ভারটিকে সুরক্ষিত করতে অ্যাপ চেক ব্যবহার করার কথা বিবেচনা করুন৷
  • অ্যাপ চেকের প্রস্তাবিত প্রত্যয়ন প্রদানকারী আপনার প্রত্যয়ন প্রদানকারীর দ্বারা আপস করা বা অবিশ্বস্ত বলে মনে করা ডিভাইসগুলিতে কাজ করবে না। আপনি যদি এই জাতীয় ডিভাইসগুলিকে সমর্থন করতে চান তবে আপনি একটি কাস্টম সত্যায়ন পরিষেবা স্থাপন করতে পারেন৷ আরও তথ্যের জন্য, নির্দেশাবলী দেখুন।

বাস্তবায়ন পদক্ষেপের ওভারভিউ

উচ্চ স্তরে, অ্যাপ চেকের সাথে আপনার অ্যাপকে সংহত করতে আপনি এই পদক্ষেপগুলি অনুসরণ করবেন:

  1. আপনার অ্যাপে Firebase যোগ করুন।
  2. অ্যাপ চেক লাইব্রেরি যোগ করুন এবং আরম্ভ করুন।
  3. টোকেন প্রদানকারী যোগ করুন।
  4. ডিবাগিং সক্ষম করুন।
  5. আপনার অ্যাপের অনুরোধগুলি নিরীক্ষণ করুন এবং প্রয়োগের বিষয়ে সিদ্ধান্ত নিন।

একবার আপনি অ্যাপ চেকের সাথে একত্রিত হয়ে গেলে, আপনি Firebase কনসোলে ব্যাকএন্ড ট্র্যাফিক মেট্রিক্স দেখতে সক্ষম হবেন। এই মেট্রিকগুলি একটি বৈধ অ্যাপ চেক টোকেন দ্বারা অনুষঙ্গী কিনা তা দ্বারা অনুরোধগুলির ভাঙ্গন প্রদান করে৷ আরও তথ্যের জন্য Firebase অ্যাপ চেক ডকুমেন্টেশন দেখুন।

যখন আপনি নিশ্চিত হন যে বেশিরভাগ অনুরোধগুলি বৈধ উত্স থেকে এসেছে এবং ব্যবহারকারীরা আপনার অ্যাপের সর্বশেষ সংস্করণে আপডেট করেছেন যার মধ্যে আপনার অ্যাপ চেক প্রয়োগ অন্তর্ভুক্ত রয়েছে, আপনি এনফোর্সমেন্ট চালু করতে পারেন। একবার এনফোর্সমেন্ট চালু হলে, অ্যাপ চেক একটি বৈধ অ্যাপ চেক টোকেন ছাড়াই সমস্ত ট্রাফিক প্রত্যাখ্যান করবে।

একটি অ্যাপ চেক ইন্টিগ্রেশন পরিকল্পনা করার সময় বিবেচনা

আপনার ইন্টিগ্রেশনের পরিকল্পনা করার সময় এখানে কিছু বিষয় বিবেচনা করতে হবে:

  • আমরা যে প্রত্যয়ন প্রদানকারীকে সুপারিশ করি, Play Integrity- এর স্ট্যান্ডার্ড API ব্যবহারের স্তরের জন্য একটি দৈনিক কল সীমা রয়েছে। কল সীমা সম্পর্কে আরও তথ্যের জন্য, Google Play Integrity বিকাশকারী ডকুমেন্টেশনে সেটআপ পৃষ্ঠাটি দেখুন।

    আপনি একটি কাস্টম প্রত্যয়ন প্রদানকারী ব্যবহার করতেও বেছে নিতে পারেন, যদিও এটি একটি উন্নত ব্যবহারের ক্ষেত্রে। আরও তথ্যের জন্য, একটি কাস্টম অ্যাপ চেক প্রদানকারী বাস্তবায়ন দেখুন।

  • আপনার অ্যাপের ব্যবহারকারীরা স্টার্টআপে কিছু বিলম্ব অনুভব করবেন। যাইহোক, পরে, যেকোন পর্যায়ক্রমিক পুনঃপ্রত্যয়ন ব্যাকগ্রাউন্ডে ঘটবে এবং ব্যবহারকারীদের আর কোনো লেটেন্সি অনুভব করা উচিত নয়। স্টার্টআপে বিলম্বের সঠিক পরিমাণ নির্ভর করে আপনি যে প্রত্যয়ন প্রদানকারীকে বেছে নিয়েছেন তার উপর।

    অ্যাপ চেক টোকেনটি বৈধ হওয়ার পরিমাণ ( লিভ করার সময় বা TTL) পুনরায় প্রত্যয়নের ফ্রিকোয়েন্সি নির্ধারণ করে। এই সময়কাল Firebase কনসোলে কনফিগার করা যেতে পারে। TTL এর আনুমানিক অর্ধেক শেষ হয়ে গেলে পুনরায় প্রত্যয়ন করা হয়। আরও তথ্যের জন্য, আপনার প্রত্যয়ন প্রদানকারীর জন্য Firebase ডক্স দেখুন।

অ্যাপ চেকের সাথে আপনার অ্যাপকে একীভূত করুন

পূর্বশর্ত এবং প্রয়োজনীয়তা

  • 4.1 বা পরবর্তী সংস্করণ সহ একটি অ্যাপ Places SDK ইন্টিগ্রেটেড৷
  • আপনার অ্যাপের জন্য SHA-256 ফিঙ্গারপ্রিন্ট।
  • আপনার অ্যাপের প্যাকেজের নাম।
  • আপনাকে অবশ্যই ক্লাউড কনসোলে অ্যাপটির মালিক হতে হবে।
  • ক্লাউড কনসোল থেকে আপনার অ্যাপের প্রোজেক্ট আইডির প্রয়োজন হবে

ধাপ 1: আপনার অ্যাপে Firebase যোগ করুন

আপনার অ্যাপে Firebase যোগ করতে Firebase ডেভেলপার ডকুমেন্টেশনের নির্দেশাবলী অনুসরণ করুন।

ধাপ 2: অ্যাপ চেক লাইব্রেরি যোগ করুন এবং অ্যাপ চেক শুরু করুন

প্লে ইন্টিগ্রিটি, ডিফল্ট প্রত্যয়ন প্রদানকারী, ব্যবহারের তথ্যের জন্য , Android-এ Play Integrity-এর সাথে অ্যাপ চেক ব্যবহার শুরু করুন দেখুন।

  1. যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার অ্যাপে Places SDK ইন্টিগ্রেট করুন
  2. এরপরে, অ্যাপ চেক এবং প্লেস ক্লায়েন্ট শুরু করুন।

    // Initialize App Check
    FirebaseApp.initializeApp(/*context=*/ this);
    FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
    firebaseAppCheck.installAppCheckProviderFactory(
            PlayIntegrityAppCheckProviderFactory.getInstance());
      
    // Initialize Places SDK
    Places.initializeWithNewPlacesApiEnabled(context, API_KEY);
    PlacesClient client = Places.createClient(context);.

ধাপ 3: টোকেন প্রদানকারী যোগ করুন

Places API আরম্ভ করার পর, PlacesAppCheckTokenProvider সেট করতে setPlacesAppCheckTokenProvider() কল করুন।

Places.initializeWithNewPlacesApiEnabled(context, API_KEY);
Places.setPlacesAppCheckTokenProvider(new TokenProvider());
PlacesClient client = Places.createClient(context);.

এখানে টোকেন ফেচার ইন্টারফেসের একটি নমুনা বাস্তবায়ন রয়েছে:

  /** Sample client implementation of App Check token fetcher interface. */
  static class TokenProvider implements PlacesAppCheckTokenProvider {
    @Override
    public ListenableFuture<String> fetchAppCheckToken() {
      SettableFuture<String> future = SettableFuture.create();
      FirebaseAppCheck.getInstance()
          .getAppCheckToken(false)
          .addOnSuccessListener(
              appCheckToken -> {
                future.set(appCheckToken.getToken());
              })
          .addOnFailureListener(
              ex -> {
                future.setException(ex);
              });

      return future;
    }
  }

ধাপ 4: ডিবাগিং সক্ষম করুন (ঐচ্ছিক)

আপনি যদি স্থানীয়ভাবে আপনার অ্যাপটি বিকাশ ও পরীক্ষা করতে চান বা এটিকে একটি অবিচ্ছিন্ন ইন্টিগ্রেশন (CI) পরিবেশে চালাতে চান, তাহলে আপনি আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে পারেন যা বৈধ অ্যাপ চেক টোকেন পেতে একটি ডিবাগ গোপন ব্যবহার করে। এটি আপনাকে আপনার ডিবাগ বিল্ডে বাস্তব সত্যায়ন প্রদানকারীর ব্যবহার এড়াতে দেয়।

একটি এমুলেটর বা একটি পরীক্ষা ডিভাইসে আপনার অ্যাপ্লিকেশন চালানোর জন্য:

  • আপনার build.gradle ফাইলে অ্যাপ চেক লাইব্রেরি যোগ করুন।
  • আপনার ডিবাগ বিল্ডে ডিবাগ প্রদানকারী কারখানা ব্যবহার করতে অ্যাপ চেক কনফিগার করুন।
  • অ্যাপটি চালু করুন, যা একটি স্থানীয় ডিবাগ টোকেন তৈরি করবে। Firebase কনসোলে এই টোকেন যোগ করুন।
  • আরও তথ্য এবং নির্দেশাবলীর জন্য, অ্যাপ চেক ডকুমেন্টেশন দেখুন।

একটি CI পরিবেশে আপনার অ্যাপ চালানোর জন্য:

  • Firebase কনসোলে একটি ডিবাগ টোকেন তৈরি করুন এবং এটি আপনার CI সিস্টেমের সুরক্ষিত কী স্টোরে যোগ করুন।
  • আপনার build.gradle ফাইলে অ্যাপ চেক লাইব্রেরি যোগ করুন।
  • ডিবাগ টোকেন ব্যবহার করতে আপনার CI বিল্ড ভেরিয়েন্ট কনফিগার করুন।
  • আপনার পরীক্ষার ক্লাসে মোড়ানো কোড যার জন্য DebugAppCheckTestHelper এর সাথে একটি অ্যাপ চেক টোক প্রয়োজন।
  • আরও তথ্য এবং নির্দেশাবলীর জন্য, অ্যাপ চেক ডকুমেন্টেশন দেখুন।

ধাপ 5: আপনার অ্যাপের অনুরোধগুলি নিরীক্ষণ করুন এবং প্রয়োগের বিষয়ে সিদ্ধান্ত নিন

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

আরও তথ্য এবং নির্দেশাবলীর জন্য Firebase অ্যাপ চেক ডকুমেন্টেশন দেখুন।