Flutter অ্যাপে reCAPTCHA Enterprise-এর সাথে App Check ব্যবহার করা শুরু করুন

প্ল্যাটফর্ম বেছে নিন: 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 প্রোজেক্ট সেট-আপ করা

  1. আপনি আগে থেকে না করে থাকলে, আপনার Flutter প্রোজেক্টে Firebase ইনস্টল ও ইনিশিয়ালাইজ করুন।

  2. Google Cloud কনসোলে গিয়ে প্রতারণা প্রতিরোধ পৃষ্ঠায় যান এবং reCAPTCHA Enterprise প্রদানকারীর জন্য নিম্নলিখিত কাজগুলি করুন:

    1. আপনি সঠিক প্রোজেক্টে আছেন কিনা তা নিশ্চিত করুন (স্ক্রিনের উপরে প্রোজেক্ট পিকার দেখুন)।

    2. প্রম্পট করা হলে, reCAPTCHA Enterprise API চালু করুন।

    3. আপনার টার্গেট প্ল্যাটফর্মের উপর ভিত্তি করে একটি 'কী' তৈরি করুন:

      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 কী তৈরি করুন দেখুন।

    4. প্রতিটি 'কী' নোট করুন। আপনাকে Firebase কনসোলে রেজিস্ট্রেশন ফ্লোতে সেগুলি যোগ করতে হবে।

  3. Firebase কনসোলে, নিরাপত্তা > App Check বিকল্পে নেভিগেট করুন।

  4. অ্যাপ ট্যাবে, reCAPTCHA Enterprise পরিষেবা প্রদানকারীর সাথে App Check ব্যবহার করার জন্য আপনার প্রতিটি টার্গেট প্ল্যাটফর্ম অ্যাপ রেজিস্টার করুন। Google Cloud কনসোলে আপনি যে কী পেয়েছেন সেটি আপনাকে দিতে হবে।

  5. ঐচ্ছিক: টোকেন টাইম টু লাইভ (TTL) সেট করুন।

    অ্যাপ রেজিস্ট্রেশন সেটিংসে, প্রদানকারীর ইস্যু করা App Check টোকেনের জন্য কাস্টম টাইম টু লাইভ (TTL) সেট করুন। আপনি TTL-এর মান ৩০ মিনিট থেকে ৭ দিনের মধ্যে যেকোনও একটি সেট করতে পারেন। এই ভ্যালু পরিবর্তন করার সময়, নিম্নলিখিত ট্রেড-অফ সম্পর্কে সচেতন থাকুন:

    • নিরাপত্তা: কম TTL আরও বেশি নিরাপত্তা প্রদান করে, কারণ এটি এমন উইন্ডো কমিয়ে দেয় যেখানে কোনও ফাঁস হওয়া বা ইন্টারসেপ্ট করা টোকেন কোনও আক্রমণকারী অপব্যবহার করতে পারে।
    • পারফর্ম্যান্স: TTL কম হলে আপনার অ্যাপ আরও ঘন ঘন অ্যাটেস্টেশন করবে। অ্যাপ অ্যাটেস্টেশন প্রসেস প্রতিবার পারফর্ম করার সময় নেটওয়ার্ক অনুরোধে লেটেন্সি যোগ করে, তাই TTL কম হলে আপনার অ্যাপের পারফর্ম্যান্সের উপর প্রভাব পড়তে পারে।
    • কোটা ও খরচ: কম TTL ও ঘন ঘন আবার যাচাই করার ফলে আপনার কোটা দ্রুত শেষ হয়ে যায় এবং পেড পরিষেবার ক্ষেত্রে খরচ বেশি হতে পারে। কোটা ও সীমা দেখুন।

    বেশিরভাগ অ্যাপের জন্য ডিফল্ট TTL-এর ১ ঘণ্টা সময়সীমা যুক্তিসঙ্গত। মনে রাখবেন যে App Check লাইব্রেরি TTL সময়সীমার প্রায় অর্ধেক সময়ে টোকেন রিফ্রেশ করে।

  6. ঐচ্ছিক: উন্নত সেটিংস কনফিগার করুন।

  7. সেভ করুন বিকল্পে ক্লিক করুন।

(ঐচ্ছিক) উন্নত সেটিংস কনফিগার করুন

কোনও ব্যবহারকারী আপনার অ্যাপ খুললে, reCAPTCHA Enterprise সেই কীয়ের অধীনে ব্যবহারকারীর ইন্টার‍্যাকশনের ঝুঁকির লেভেল মূল্যায়ন করে এবং ০.০ থেকে ১.০-এর মধ্যে ০.১-এর ইনক্রিমেন্টে স্কোর প্রদান করে।

  • ০.০ স্কোর ইঙ্গিত করে যে ইন্টার‍্যাকশনটি অত্যন্ত ঝুঁকিপূর্ণ এবং এটি প্রতারণামূলক হতে পারে।
  • ১.০ স্কোর ইঙ্গিত করে যে ইন্টার‍্যাকশনটি কম ঝুঁকিপূর্ণ এবং খুব সম্ভাব্য বৈধ।

App Check আপনাকে অ্যাপের ঝুঁকি সংক্রান্ত থ্রেশহোল্ড কনফিগার করতে দেয় যাতে আপনি এই ঝুঁকির জন্য আপনার সহনশীলতা অ্যাডজাস্ট করতে পারেন।

বেশিরভাগ ব্যবহারের ক্ষেত্রে, ডিফল্ট থ্রেশহোল্ড ভ্যালু ০.৫ সাজেস্ট করা হয়। আপনার ব্যবহারের ক্ষেত্রে যদি অ্যাডজাস্টমেন্টের প্রয়োজন হয়, তাহলে আপনি Firebase কনসোলে (সুরক্ষা > App Check বিকল্পে যান) আপনার প্রতিটি অ্যাপের জন্য এই ভ্যালু কনফিগার করতে পারবেন। নিচে দেওয়া কিছু অ্যাপের ঝুঁকি সংক্রান্ত থ্রেশহোল্ড কনফিগার করা সম্পর্কিত গুরুত্বপূর্ণ বিষয় ভাল করে দেখে নিতে ভুলবেন না।

২. আপনার অ্যাপে App Check প্লাগ-ইন যোগ করা

reCAPTCHA Enterprise প্রোভাইডার ব্যবহার করতে, আপনাকে অবশ্যই সংশ্লিষ্ট App Check প্লাগ-ইন যোগ করতে হবে।

  1. আপনার Flutter প্রোজেক্টের রুট থেকে, প্লাগ-ইন ইনস্টল করতে নিচের কমান্ডটি রান করুন:

    flutter pub add firebase_app_check
    
  2. সম্পূর্ণ হয়ে গেলে, আপনার 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 এনফোর্সমেন্ট চালু করুন

App Check আপনার ব্যবহারকারীদের উপর কীভাবে প্রভাব ফেলবে তা আপনি বুঝতে পারলে এবং এগিয়ে যাওয়ার জন্য প্রস্তুত হলে, আপনি App Check এনফোর্সমেন্ট চালু করতে পারবেন:

ডিবাগ এনভায়রনমেন্টে App Check ব্যবহার করা

App Check কিছু এনভায়রনমেন্টকে ভুল হিসেবে শ্রেণীবদ্ধ করে, যেমন ডেভেলপমেন্টের সময় ইমুলেটর / সিমুলেটর বা লোকালহোস্ট থেকে আসা অনুরোধ অথবা কন্টিনিউয়াস ইন্টিগ্রেশন (CI) এনভায়রনমেন্ট থেকে আসা অনুরোধ।

App Check এনফোর্স করার পরে এই ধরনের পরিবেশে আপনার অ্যাপ চালাতে, আপনাকে অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে হবে যা প্রোডাকশন অ্যাটেস্টেশন প্রোভাইডারের পরিবর্তে App Check ডিবাগ প্রোভাইডার ব্যবহার করে।

আরও জানতে, Flutter অ্যাপে ডিবাগ প্রোভাইডারের সাথে App Check ব্যবহার করুন নিবন্ধটি দেখুন।

মূল্য

আপনার অ্যাপের App Check টোকেন রিফ্রেশ করার সময় App Check ব্যবহারকারীর রেসপন্স টোকেন যাচাই করার জন্য আপনার হয়ে মূল্যায়ন তৈরি করে। আপনার Firebase প্রোজেক্টে, ফ্রি কোটার উপরে তৈরি করা প্রতিটি মূল্যায়নের জন্য চার্জ করা হবে। আরও জানতে, reCAPTCHA-এর দাম দেখুন।

ডিফল্ট হিসেবে, আপনার অ্যাপ প্রতি ১ ঘণ্টায় দু'বার এই টোকেন রিফ্রেশ করবে। আপনার অ্যাপ কত ঘন ঘন App Check টোকেন রিফ্রেশ করে (এবং এইভাবে কত ঘন ঘন নতুন মূল্যায়ন তৈরি হয়) তা নিয়ন্ত্রণ করতে, আপনি টোকেন TTL কনফিগার করতে পারেন।