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

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

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

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

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

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

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

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

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

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

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

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

  • আমরা সুপারিশ করি এমন একজন প্রত্যয়ন প্রদানকারী, reCAPTCHA এন্টারপ্রাইজ প্রতি মাসে 10,000 এর বেশি মূল্যায়নের জন্য চার্জ করে।

    আমরা যে অন্য প্রত্যয়ন প্রদানকারীর সুপারিশ করি, reCAPTCHA v3-এর একটি কোটা আছে, যার পরে ট্রাফিকের মূল্যায়ন করা হবে না।

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

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

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

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

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

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

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

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

Firebase প্রতিটি ডিফল্ট প্রত্যয়ন প্রদানকারীর জন্য নির্দেশাবলী প্রদান করে। এই নির্দেশাবলী আপনাকে দেখায় কিভাবে একটি Firebase প্রকল্প সেট আপ করতে হয় এবং আপনার অ্যাপে অ্যাপ চেক লাইব্রেরি যোগ করতে হয়। অ্যাপ চেক শুরু করতে প্রদত্ত কোড নমুনা অনুসরণ করুন।

ধাপ 3: মানচিত্র JS API লাইব্রেরি লোড করুন

  1. নিম্নলিখিত স্নিপেটে দেখানো হিসাবে মূল, মানচিত্র, এবং স্থান লাইব্রেরি লোড করুন। আরও তথ্য এবং নির্দেশাবলীর জন্য, মানচিত্র জাভাস্ক্রিপ্ট এপিআই প্লেস ক্লাস ডকুমেন্টেশন দেখুন।

    async function init() {
      const {Settings} = await google.maps.importLibrary('core');
      const {Map} = await google.maps.importLibrary('maps');
      const {Place} = await google.maps.importLibrary('places');
    }  

ধাপ 4: স্থান এবং অ্যাপ চেক এপিআই শুরু করুন

  1. Firebase কনসোলের দেওয়া কনফিগারেশন ব্যবহার করে অ্যাপ চেক শুরু করুন।
  2. নিশ্চিত করুন যে ম্যাপ JS API-এর অনুরোধগুলি অ্যাপ চেক টোকেনগুলির সাথে রয়েছে:
      async function init() {
        const {Settings} = await google.maps.importLibrary('core');
        const {Map} = await google.maps.importLibrary('maps');
        const {Place} = await google.maps.importLibrary('places');
      
        const app = initializeApp({
          // Your firebase configuration object
        });
      
        // Pass your reCAPTCHA Enterprise site key to initializeAppCheck().
        const appCheck = initializeAppCheck(app, {
          provider: new ReCaptchaEnterpriseProvider(
            'abcdefghijklmnopqrstuvwxy-1234567890abcd',
          ),
      
          // Optional argument. If true, the SDK automatically refreshes App Check
          // tokens as needed.
          isTokenAutoRefreshEnabled: true,
        });
      
        Settings.getInstance().fetchAppCheckToken = () =>
            getToken(appCheck, /* forceRefresh = */ false);
      
        // Make a Places JS request
        const place = new Place({id: 'ChIJN5Nz71W3j4ARhx5bwpTQEGg'});
        await place.fetchFields({fields: ['*']});
      
        // Load a map
        map = new Map(document.getElementById("map"), {
          center: { lat: 37.4161493, lng: -122.0812166 },
          zoom: 8,
        });
      }  
      

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

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

স্থানীয়ভাবে আপনার অ্যাপ পরীক্ষা করতে:

  • উন্নয়নের উদ্দেশ্যে ডিবাগ প্রদানকারী সক্রিয় করুন।
  • আপনি SDK-এর ডিবাগ লগ থেকে একটি স্বয়ংক্রিয়ভাবে তৈরি হওয়া এলোমেলো UUID4 (অ্যাপ চেক ডকুমেন্টেশনে _debug টোকেন_ বলা হয়) পাবেন। Firebase কনসোলে এই টোকেন যোগ করুন।
  • আরও তথ্য এবং নির্দেশাবলীর জন্য, অ্যাপ চেক ডকুমেন্টেশন দেখুন।

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

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

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

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

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