আপনার API কী সুরক্ষিত করতে অ্যাপ চেক ব্যবহার করুন
Firebase অ্যাপ চেক আপনার অ্যাপ থেকে Google Maps প্ল্যাটফর্মে কলের জন্য সুরক্ষা প্রদান করে, বৈধ অ্যাপ ব্যতীত অন্য উৎস থেকে আসা ট্র্যাফিক ব্লক করে। এটি reCAPTCHA Enterprise এর মতো একটি প্রত্যয়ন প্রদানকারীর কাছ থেকে একটি টোকেন পরীক্ষা করে এটি করে। অ্যাপ চেকের সাথে আপনার অ্যাপগুলিকে একীভূত করা ক্ষতিকারক অনুরোধ থেকে রক্ষা করতে সাহায্য করে, তাই আপনাকে অননুমোদিত API কলের জন্য চার্জ করা হয় না।
অ্যাপ চেক কি আমার জন্য সঠিক?
বেশিরভাগ ক্ষেত্রেই অ্যাপ চেক করার পরামর্শ দেওয়া হয়, তবে নিম্নলিখিত ক্ষেত্রে অ্যাপ চেকের প্রয়োজন হয় না বা সমর্থিত হয় না:
- আপনি আসল Places SDK ব্যবহার করছেন। অ্যাপ চেক শুধুমাত্র Places SDK (নতুন) এর জন্য সমর্থিত ।
- ব্যক্তিগত বা পরীক্ষামূলক অ্যাপ। যদি আপনার অ্যাপটি সর্বজনীনভাবে অ্যাক্সেসযোগ্য না হয়, তাহলে অ্যাপ চেকের প্রয়োজন নেই।
- যদি আপনার অ্যাপটি শুধুমাত্র সার্ভার-টু-সার্ভার ব্যবহার করা হয়, তাহলে অ্যাপ চেকের প্রয়োজন নেই। তবে, যদি GMP-এর সাথে যোগাযোগকারী সার্ভারটি পাবলিক ক্লায়েন্ট (যেমন মোবাইল অ্যাপ) দ্বারা ব্যবহৃত হয়, তাহলে GMP-এর পরিবর্তে সেই সার্ভারটিকে সুরক্ষিত করার জন্য অ্যাপ চেক ব্যবহার করার কথা বিবেচনা করুন।
বাস্তবায়ন পদক্ষেপের সারসংক্ষেপ
উচ্চ স্তরে, অ্যাপ চেকের সাথে আপনার অ্যাপটি সংহত করার জন্য আপনাকে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করতে হবে:
- আপনার অ্যাপে Firebase যোগ করুন।
- অ্যাপ চেক লাইব্রেরি যোগ করুন এবং আরম্ভ করুন।
- আপনার অ্যাপে টোকেন প্রদানকারী যোগ করুন।
- স্থান এবং অ্যাপ চেক API গুলি শুরু করুন।
- ডিবাগিং সক্ষম করুন।
- আপনার অ্যাপের অনুরোধগুলি পর্যবেক্ষণ করুন এবং প্রয়োগের সিদ্ধান্ত নিন।
অ্যাপ চেকের সাথে ইন্টিগ্রেট করার পর, আপনি ফায়ারবেস কনসোলে ব্যাকএন্ড ট্র্যাফিক মেট্রিক্স দেখতে সক্ষম হবেন। এই মেট্রিক্সগুলি অনুরোধগুলির সাথে একটি বৈধ অ্যাপ চেক টোকেন আছে কিনা তার উপর ভিত্তি করে তাদের বিভাজন প্রদান করে। আরও তথ্যের জন্য ফায়ারবেস অ্যাপ চেক ডকুমেন্টেশন দেখুন।
যখন আপনি নিশ্চিত হন যে বেশিরভাগ অনুরোধ বৈধ উৎস থেকে এসেছে এবং ব্যবহারকারীরা আপনার অ্যাপের সর্বশেষ সংস্করণে আপডেট করেছেন যাতে আপনার অ্যাপ চেক বাস্তবায়ন অন্তর্ভুক্ত রয়েছে, তখন আপনি এনফোর্সমেন্ট চালু করতে পারেন। একবার এনফোর্সমেন্ট চালু হয়ে গেলে, অ্যাপ চেক একটি বৈধ অ্যাপ চেক টোকেন ছাড়াই সমস্ত ট্র্যাফিক প্রত্যাখ্যান করবে।
অ্যাপ চেক ইন্টিগ্রেশন পরিকল্পনা করার সময় বিবেচ্য বিষয়গুলি
আপনার ইন্টিগ্রেশন পরিকল্পনা করার সময় এখানে কিছু বিষয় বিবেচনা করতে হবে:
- আমরা সুপারিশ করি এমন একটি প্রত্যয়ন প্রদানকারী, reCAPTCHA এন্টারপ্রাইজ প্রতি মাসে ১০,০০০ এরও বেশি মূল্যায়নের জন্য চার্জ করে।
আমরা যে অন্য সার্টিফিকেশন প্রদানকারীর সুপারিশ করছি, reCAPTCHA v3-এর একটি কোটা আছে, যার পরে ট্র্যাফিক মূল্যায়ন করা হবে না।
আপনি একটি কাস্টম অ্যাটেস্টেশন প্রোভাইডার ব্যবহার করতে পারেন, যদিও এটি একটি উন্নত ব্যবহারের ক্ষেত্রে। আরও তথ্যের জন্য অ্যাপ চেক ডকুমেন্টেশন দেখুন।
আপনার অ্যাপের ব্যবহারকারীরা স্টার্টআপে কিছু লেটেন্সি অনুভব করবেন। তবে, পরবর্তীতে, যেকোনো পর্যায়ক্রমিক পুনঃপ্রত্যয়ন ব্যাকগ্রাউন্ডে ঘটবে এবং ব্যবহারকারীরা আর কোনও লেটেন্সি অনুভব করবেন না। স্টার্টআপে লেটেন্সির সঠিক পরিমাণ আপনার বেছে নেওয়া অ্যাটেস্টেশন প্রদানকারীর উপর নির্ভর করে।
অ্যাপ চেক টোকেনটি কতক্ষণ বৈধ থাকবে ( লাইভ করার সময় , অথবা TTL) তা পুনঃপ্রত্যয়নের ফ্রিকোয়েন্সি নির্ধারণ করে। এই সময়কাল Firebase কনসোলে কনফিগার করা যেতে পারে। TTL এর প্রায় halkf অতিবাহিত হলে পুনঃপ্রত্যয়ন ঘটে। আরও তথ্যের জন্য, আপনার প্রত্যয়ন প্রদানকারীর জন্য Firebase ডক্স দেখুন।
অ্যাপ চেকের সাথে আপনার অ্যাপকে একীভূত করুন
পূর্বশর্ত এবং প্রয়োজনীয়তা
- Maps JS API, Core, এবং Places লাইব্রেরির সর্বশেষ সাপ্তাহিক বা ত্রৈমাসিক সংস্করণ সহ একটি অ্যাপ লোড করা হয়েছে।
- Maps JS এবং Places API (নতুন) API সক্রিয় থাকা একটি ক্লাউড প্রকল্প।
- আপনাকে অবশ্যই ক্লাউড কনসোলে অ্যাপটির মালিক হতে হবে।
- আপনার ক্লাউড কনসোল থেকে অ্যাপের প্রজেক্ট আইডি প্রয়োজন হবে।
ধাপ ১: আপনার অ্যাপে Firebase যোগ করুন
আপনার অ্যাপে Firebase যোগ করতে Firebase ডেভেলপার ডকুমেন্টেশনের নির্দেশাবলী অনুসরণ করুন।
ধাপ ২: অ্যাপ চেক লাইব্রেরি যোগ করুন এবং অ্যাপ চেক শুরু করুন
Firebase প্রতিটি ডিফল্ট প্রত্যয়ন প্রদানকারীর জন্য নির্দেশাবলী প্রদান করে। এই নির্দেশাবলী আপনাকে দেখায় কিভাবে একটি Firebase প্রকল্প সেট আপ করবেন এবং আপনার অ্যাপে অ্যাপ চেক লাইব্রেরি যোগ করবেন। অ্যাপ চেক শুরু করতে প্রদত্ত কোড নমুনাগুলি অনুসরণ করুন।
ধাপ ৩: Maps 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'); }
ধাপ ৪: স্থান এবং অ্যাপ চেক API গুলি শুরু করুন
- Firebase কনসোল দ্বারা প্রদত্ত কনফিগারেশন ব্যবহার করে অ্যাপ চেক শুরু করুন।
- নিশ্চিত করুন যে Maps 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, }); }
ধাপ ৫: ডিবাগিং সক্ষম করুন (ঐচ্ছিক)
আপনি যদি আপনার অ্যাপটি স্থানীয়ভাবে তৈরি এবং পরীক্ষা করতে চান, অথবা এটি একটি ক্রমাগত ইন্টিগ্রেশন (CI) পরিবেশে চালাতে চান, তাহলে আপনি আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে পারেন যা বৈধ অ্যাপ চেক টোকেন পেতে একটি ডিবাগ সিক্রেট ব্যবহার করে। এটি আপনাকে আপনার ডিবাগ বিল্ডে আসল প্রত্যয়ন প্রদানকারী ব্যবহার এড়াতে দেয়।
স্থানীয়ভাবে আপনার অ্যাপ পরীক্ষা করতে:
- ডেভেলপমেন্টের উদ্দেশ্যে ডিবাগ প্রদানকারী সক্রিয় করুন।
- আপনি SDK এর ডিবাগ লগ থেকে একটি স্বয়ংক্রিয়ভাবে তৈরি হওয়া র্যান্ডম UUID4 (অ্যাপ চেক ডকুমেন্টেশনে _debug token_ নামে পরিচিত) পাবেন। Firebase কনসোলে এই টোকেনটি যোগ করুন।
- আরও তথ্য এবং নির্দেশাবলীর জন্য, অ্যাপ চেক ডকুমেন্টেশন দেখুন।
CI পরিবেশে আপনার অ্যাপ চালানোর জন্য:
- Firebase কনসোল থেকে একটি এলোমেলো UUID4 তৈরি করুন।
- UUID4 কে ডিবাগ টোকেন হিসেবে যোগ করুন, এবং তারপর এটি একটি গোপন স্টোরে কপি করুন যেখানে CI পরীক্ষাগুলি প্রতি পরীক্ষা চালানোর সময় অ্যাক্সেস করবে।
- আরও তথ্য এবং নির্দেশাবলীর জন্য, অ্যাপ চেক ডকুমেন্টেশন দেখুন।
ধাপ ৬: আপনার অ্যাপ অনুরোধগুলি পর্যবেক্ষণ করুন এবং প্রয়োগের সিদ্ধান্ত নিন
এনফোর্সমেন্ট শুরু করার আগে, আপনাকে নিশ্চিত করতে হবে যে আপনি আপনার অ্যাপের বৈধ ব্যবহারকারীদের ব্যাহত করবেন না। এটি করার জন্য, অ্যাপ চেক মেট্রিক্স স্ক্রিনে যান এবং দেখুন আপনার অ্যাপের কত শতাংশ ট্র্যাফিক যাচাই করা হয়েছে, পুরানো, নাকি অবৈধ। একবার আপনি দেখতে পাবেন যে আপনার বেশিরভাগ ট্র্যাফিক যাচাই করা হয়েছে, আপনি এনফোর্সমেন্ট সক্ষম করতে পারেন।
আরও তথ্য এবং নির্দেশাবলীর জন্য Firebase অ্যাপ চেক ডকুমেন্টেশন দেখুন।