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 কনফিগার করতে পারেন।