| প্ল্যাটফর্ম বেছে নিন: | iOS+ Android ওয়েব Flutter |
reCAPTCHA Enterprise প্রোভাইডার ব্যবহার করে, Flutter অ্যাপে কীভাবে App Check সেট-আপ করতে হয় তা এই পৃষ্ঠা থেকে জানতে পারবেন। App Check এটি নিশ্চিত করতে সাহায্য করে যে শুধুমাত্র আপনার অ্যাপই আপনার প্রজেক্টের ব্যাকএন্ড রিসোর্স অ্যাক্সেস করতে পারবে। আরও জানতে, আমাদের App Check-এর ওভারভিউ দেখুন।
App Check-এর জন্য স্কোর-ভিত্তিক reCAPTCHA কী ব্যবহার করতে হয়, যা ব্যবহারকারীদের কাছে এটি অদৃশ্য করে দেয়। এর অর্থ হল, reCAPTCHA Enterprise প্রোভাইডার ব্যবহারকারীদের কোনও সময়েই কোনও চ্যালেঞ্জ সমাধান করতে বলবে না।
আপনার ব্যবহারের ক্ষেত্রে reCAPTCHA Enterprise ফিচার প্রয়োগ করা না হলে App Check অথবা আপনি নিজের কাস্টম প্রোভাইডারের সাথে App Check ব্যবহার করতে চাইলে, কাস্টম App Check প্রোভাইডার প্রয়োগ করুন দেখুন।
১. আপনার Firebase প্রোজেক্ট সেট-আপ করা
আপনি আগে থেকে না করে থাকলে, আপনার Flutter প্রোজেক্টে Firebase ইনস্টল ও ইনিশিয়ালাইজ করুন।
Google Cloud কনসোলে গিয়ে প্রতারণা প্রতিরোধ পৃষ্ঠায় যান এবং reCAPTCHA Enterprise প্রদানকারীর জন্য নিম্নলিখিত কাজগুলি করুন:
আপনি সঠিক প্রোজেক্টে আছেন কিনা তা নিশ্চিত করুন (স্ক্রিনের উপরের দিকে প্রোজেক্ট পিকার দেখুন)।
প্রম্পট করা হলে, reCAPTCHA Enterprise API চালু করুন।
আপনার টার্গেট প্ল্যাটফর্মের উপর ভিত্তি করে একটি কী তৈরি করুন:
iOS+
iOS-এর মতো কী তৈরি করুন এবং আপনার অ্যাপের বান্ডেল আইডি (যেমন,
com.example.my_app) উল্লেখ করুন।আপনি Firebase প্রোজেক্টে Firebase Apple অ্যাপ তৈরি করার সময় যে বান্ডেল আইডি দিয়েছিলেন, সেটিই লিখছেন কিনা তা ভালভাবে দেখে নিন। বান্ডেল আইডি ভ্যালুতে ছোট ও বড় হাতের অক্ষরের মধ্যে পার্থক্য করা হয়।
App Check-এর জন্য, প্রতিটি বান্ডেল আইডি শুধুমাত্র একটি reCAPTCHA কীয়ের সাথে সম্পর্কিত হতে পারে।
Android
Android-এর মতো কী তৈরি করুন এবং আপনার অ্যাপের প্যাকেজের নাম নির্দিষ্ট করুন (যেমন,
com.example.my_app)।আপনার Firebase প্রোজেক্টে Firebase Android অ্যাপ তৈরি করার সময় আপনি যে প্যাকেজের নাম দিয়েছিলেন, সেটিই এখানে লিখেছেন কিনা ভালোভাবে দেখে নিন। প্যাকেজের নামের ভ্যালুতে ছোট ও বড় হাতের অক্ষরের মধ্যে পার্থক্য করা হয়।
App Check-এর জন্য, প্রতিটি প্যাকেজের নাম শুধুমাত্র একটি reCAPTCHA 'কী'-এর সাথে সম্পর্কিত হতে পারে।
ওয়েব
ওয়েব-টাইপ কী তৈরি করুন এবং আপনার ওয়েব অ্যাপের জন্য প্রতিটি ডোমেন নির্দিষ্ট করুন।
App Check ২৫০টির বেশি ডোমেনে পরিবেশন করা ওয়েব অ্যাপে কাজ করে না।
প্রোডাকশনে ডিপ্লয় করা (বা ডিপ্লয় করা হবে) reCAPTCHA কী-তে
localhostডোমেন হিসেবে কখনও যোগ করবেন না।"চেকবক্স চ্যালেঞ্জ ব্যবহার করুন" বিকল্পটি বেছে না নিয়ে রেখে দিন।
বিস্তারিত নির্দেশাবলীর জন্য, স্কোর-ভিত্তিক reCAPTCHA কী তৈরি করুন।
প্রতিটি কী সম্পর্কে নোট নিন। Firebase কনসোলে রেজিস্ট্রেশন ফ্লোতে আপনাকে সেগুলি যোগ করতে হবে।
Firebase কনসোলে, নিরাপত্তা > অ্যাপ চেক বিকল্পে নেভিগেট করুন।
অ্যাপ ট্যাবে, reCAPTCHA Enterprise প্রদানকারীর সাথে App Check ব্যবহার করার জন্য আপনার টার্গেট প্ল্যাটফর্মের প্রতিটি অ্যাপ রেজিস্টার করুন। Google Cloud কনসোলে আপনি যে কী পেয়েছেন সেটি আপনাকে দিতে হবে।
ঐচ্ছিক: টোকেনের টাইম টু লাইভ (TTL) সেট করুন।
অ্যাপ রেজিস্ট্রেশন সেটিংসে, প্রদানকারীর ইস্যু করা App Check টোকেনের জন্য কাস্টম টাইম টু লিভ (TTL) সেট করুন। আপনি TTL-এর মান ৩০ মিনিট থেকে ৭ দিনের মধ্যে যেকোনও একটি সেট করতে পারেন। এই ভ্যালু পরিবর্তন করার সময়, নিম্নলিখিত ট্রেডঅফ সম্পর্কে সচেতন থাকুন:
- নিরাপত্তা: কম TTL আরও বেশি নিরাপত্তা প্রদান করে, কারণ এটি এমন উইন্ডো কমিয়ে দেয় যেখানে কোনও ফাঁস হওয়া বা ইন্টারসেপ্ট করা টোকেন কোনও আক্রমণকারী অপব্যবহার করতে পারে।
- পারফর্ম্যান্স: TTL কম হলে আপনার অ্যাপকে আরও ঘন ঘন অ্যাটেস্টেশন পারফর্ম করতে হবে। অ্যাপ অ্যাটেস্টেশন প্রসেস প্রতিবার পারফর্ম করার সময় নেটওয়ার্ক অনুরোধে লেটেন্সি যোগ করে, তাই TTL কম হলে আপনার অ্যাপের পারফর্ম্যান্সের উপর প্রভাব পড়তে পারে।
- কোটা ও খরচ: কম TTL ও ঘন ঘন আবার যাচাই করার ফলে আপনার কোটা দ্রুত শেষ হয়ে যায় এবং পেড পরিষেবার ক্ষেত্রে খরচ বেশি হতে পারে। কোটা ও সীমা দেখুন।
বেশিরভাগ অ্যাপের জন্য ডিফল্ট TTL-এর ১ ঘণ্টা সময়সীমা যুক্তিসঙ্গত। মনে রাখবেন, App Check লাইব্রেরি TTL মেয়াদের প্রায় অর্ধেক সময় অন্তর টোকেন রিফ্রেশ করে।
ঐচ্ছিক: উন্নত সেটিংস কনফিগার করুন।
সেভ করুন বিকল্পে ক্লিক করুন।
(ঐচ্ছিক) উন্নত সেটিংস কনফিগার করা
কোনও ব্যবহারকারী আপনার অ্যাপ খুললে, reCAPTCHA Enterprise মূল পোজের অধীনে ব্যবহারকারীর ইন্টার্যাকশনের ঝুঁকির লেভেল মূল্যায়ন করে এবং ০.১ ইনক্রিমেন্টে ০.০ থেকে ১.০-এর মধ্যে একটি স্কোর রিটার্ন করে।
- ০.০ স্কোর ইঙ্গিত করে যে ইন্টার্যাকশনটি অত্যন্ত ঝুঁকিপূর্ণ এবং এটি প্রতারণামূলক হতে পারে।
- ১.০ স্কোর ইঙ্গিত করে যে ইন্টার্যাকশনটি কম ঝুঁকিপূর্ণ এবং খুব সম্ভাব্য বৈধ।
App Check আপনাকে অ্যাপ ঝুঁকি থ্রেশহোল্ড কনফিগার করতে দেয়, যাতে আপনি এই ঝুঁকির জন্য আপনার সহনশীলতা অ্যাডজাস্ট করতে পারেন।
বেশিরভাগ ব্যবহারের ক্ষেত্রে, ডিফল্ট থ্রেশহোল্ড ভ্যালু ০.৫ সাজেস্ট করা হয়। আপনার ব্যবহারের ক্ষেত্রে অ্যাডজাস্টমেন্টের প্রয়োজন হলে, আপনি Firebase কনসোলে (সুরক্ষা > অ্যাপ চেক) আপনার প্রতিটি অ্যাপের জন্য এই ভ্যালু কনফিগার করতে পারবেন। নিচে দেওয়া কিছু অ্যাপের ঝুঁকি সংক্রান্ত থ্রেশহোল্ড কনফিগার করা সম্পর্কিত গুরুত্বপূর্ণ বিষয় ভাল করে দেখে নিতে ভুলবেন না।
২. আপনার অ্যাপে App Check প্লাগ-ইন যোগ করুন
reCAPTCHA Enterprise পরিষেবা প্রদানকারীকে ব্যবহার করতে, আপনাকে সংশ্লিষ্ট App Check প্লাগ-ইন যোগ করতে হবে।
আপনার Flutter প্রোজেক্টের রুট থেকে, প্লাগ-ইন ইনস্টল করতে নিচের কমান্ডটি রান করুন:
flutter pub add firebase_app_checkসম্পূর্ণ হয়ে গেলে, আপনার Flutter প্রোজেক্ট আবার তৈরি করুন:
flutter run
৩. App Check চালু করুন
আপনার অ্যাপে, অন্য কোনও Firebase পরিষেবা ব্যবহার করার আগে আপনাকে App Check ইনিশিয়ালাইজ করতে হবে।
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_app_check/firebase_app_check.dart';
import 'firebase_options.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
await FirebaseAppCheck.instance.activate(
providerWeb: ReCaptchaEnterpriseProvider(WEB_SITE_KEY),
providerAndroid: const AndroidReCaptchaProvider(ANDROID_SITE_KEY),
providerApple: const AppleReCaptchaProvider(IOS_SITE_KEY),
);
runApp(App());
}
৪. মেট্রিক মনিটর করা ও এনফোর্সমেন্ট চালু করা
আপনার অ্যাপে App Check সেট-আপ করার পরে, আপনার ব্যবহারকারীদের কাছে আপডেট করা অ্যাপ ডিস্ট্রিবিউট করা শুরু করুন।
আপডেট করা ক্লায়েন্ট অ্যাপ Firebase-এ করা প্রতিটি অনুরোধের সাথে App Check টোকেন পাঠানো শুরু করবে। তবে, App Check এনফোর্স না করা পর্যন্ত App Check ভুল টোকেন সহ অনুরোধ ব্লক করবে না।
মেট্রিক মনিটর করা
এনফোর্সমেন্ট চালু করার আগে, নিশ্চিত করুন যে এটি করলে আপনার আগে থেকে থাকা বৈধ ব্যবহারকারীদের কোনও অসুবিধা হবে না। তবে, আপনার অ্যাপের রিসোর্স সন্দেহজনকভাবে ব্যবহার করা হচ্ছে বলে মনে হলে, আপনি হয়ত শীঘ্রই এনফোর্সমেন্ট চালু করতে চাইবেন।
এই সিদ্ধান্ত নেওয়ার ব্যাপারে সাহায্য পেতে, আপনি যেসব পরিষেবা ব্যবহার করেন সেগুলির App Check মেট্রিক পর্যালোচনা করতে পারেন:
- অনুরোধের মেট্রিক App Check মনিটর করুন এগুলির জন্য: Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, iOS-এর জন্য Google Identity, Maps JavaScript API এবং Places API (নতুন)।
- Cloud Functions-এর জন্য App Check অনুরোধের মেট্রিক মনিটর করুন।
App Check এনফোর্সমেন্ট চালু করা
App Check আপনার ব্যবহারকারীদের কীভাবে প্রভাবিত করবে তা বুঝে নেওয়ার পরে, আপনি যদি এগিয়ে যাওয়ার জন্য প্রস্তুত হন, তাহলে App Check প্রয়োগ করা চালু করতে পারবেন:
- Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, iOS-এর জন্য Google Identity, Maps JavaScript API এবং Places API (নতুন)-এর জন্য এনফোর্সমেন্ট App Check চালু করুন।
- Cloud Functions-এর জন্য App Check এনফোর্সমেন্ট চালু করুন।
ডিবাগ এনভায়রনমেন্টে App Check ব্যবহার করুন
App Check কিছু এনভায়রনমেন্টকে ভুল হিসেবে শ্রেণীবদ্ধ করে, যেমন ডেভেলপমেন্টের সময় ইমুলেটর / সিমুলেটর বা লোকালহোস্ট থেকে আসা অনুরোধ অথবা কন্টিনিউয়াস ইন্টিগ্রেশন (CI) এনভায়রনমেন্ট থেকে আসা অনুরোধ।
App Check এনফোর্স করার পরে এই ধরনের এনভায়রনমেন্টে আপনার অ্যাপ চালাতে, আপনাকে অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে হবে যেটি প্রোডাকশন অ্যাটেস্টেশন প্রোভাইডারের পরিবর্তে App Check ডিবাগ প্রোভাইডার ব্যবহার করে।
আরও বিবরণের জন্য, Flutter অ্যাপে ডিবাগ প্রোভাইডারের সাথে App Check ব্যবহার করুন দেখুন।
মূল্য
আপনার অ্যাপের App Check টোকেন রিফ্রেশ করার সময় App Check ব্যবহারকারীর রেসপন্স টোকেন যাচাই করার জন্য আপনার হয়ে মূল্যায়ন তৈরি করে। আপনার Firebase প্রোজেক্টে বিনামূল্যে কোটার উপরে তৈরি করা প্রতিটি অ্যাসেসমেন্টের জন্য চার্জ করা হবে। আরও বিবরণের জন্য, reCAPTCHA মূল্য দেখুন।
ডিফল্ট হিসেবে, আপনার অ্যাপ প্রতি ১ ঘণ্টায় দু'বার এই টোকেন রিফ্রেশ করবে। আপনার অ্যাপ কত ঘনঘন App Check টোকেন রিফ্রেশ করে (এবং এইভাবে কত ঘনঘন নতুন অ্যাসেসমেন্ট তৈরি হয়) তা নিয়ন্ত্রণ করতে, আপনি টোকেন TTL কনফিগার করতে পারেন।