Firebase অ্যাপ চেকের মাধ্যমে Gemini API-এর অপব্যবহার প্রতিরোধ করুন

যখন আপনি সরাসরি কোনো মোবাইল বা ওয়েব অ্যাপ থেকে একটি এপিআই (API) কল করেন, তখন অননুমোদিত ক্লায়েন্টদের দ্বারা এপিআইটি অপব্যবহারের ঝুঁকিতে থাকে। আপনি যদি আপনার মোবাইল বা ওয়েব অ্যাপ থেকে সরাসরি জেমিনি (Gemini) এপিআই কল করতে চান, তবে ফায়ারবেস এআই লজিক (Firebase AI Logic) ব্যবহার করে এবং Firebase App Check ) প্রয়োগ করে এটিকে অপব্যবহার থেকে রক্ষা করতে হবে । আপনি যখন App Check প্রয়োগ করেন, তখন এটি শুধুমাত্র সেইসব ইনকামিং রিকোয়েস্টকেই অনুমতি দেবে যেগুলো আপনার আসল অ্যাপ এবং/অথবা একটি অক্ষত ডিভাইস থেকে এসেছে বলে যাচাই করা হয়েছে।

সেটআপ যান

Firebase AI Logic একটি প্রক্সি গেটওয়ে প্রদান করে, যা আপনাকে Firebase App Check সাথে ইন্টিগ্রেট করতে এবং আপনার মোবাইল ও ওয়েব অ্যাপ থেকে সরাসরি কল করা হলে Gemini API-কে সুরক্ষিত রাখতে সাহায্য করে। যখন Firebase AI Logic-এর জন্য App Check প্রয়োগ করা হয়, তখন এটি Gemini Developer API এবং Agent Platform Gemini API (পূর্বের Vertex AI) উভয়কেই সুরক্ষিত রাখতে সহায়তা করে।

App Check for Firebase AI Logic রিপ্লে প্রোটেকশনও সমর্থন করে, যার অর্থ হলো একটি App Check টোকেন শুধুমাত্র একবারই ব্যবহার করা যাবে।


App Check কীভাবে কাজ করে তার একটি উচ্চ-স্তরের সারসংক্ষেপ

App Check মাধ্যমে, আপনার অ্যাপ চালিত ডিভাইসগুলো একটি অ্যাপ বা ডিভাইস অ্যাটেস্টেশন প্রোভাইডার ব্যবহার করে, যা নিম্নলিখিত এক বা উভয় বিষয় যাচাই করে:

  • অনুরোধগুলি আপনার আসল অ্যাপ থেকে আসে
  • অনুরোধগুলি একটি খাঁটি, অপরিবর্তিত ডিভাইস থেকে আসে।

আপনার অ্যাপ Firebase AI Logic SDK ব্যবহার করে করা প্রতিটি অনুরোধের সাথে এই অ্যাটেস্টেশনটি সংযুক্ত থাকে। যখন App Check কার্যকর করা হয়, তখন বৈধ অ্যাটেস্টেশন ছাড়া ক্লায়েন্টদের অনুরোধ প্রত্যাখ্যান করা হবে; একইভাবে, আপনার দ্বারা অনুমোদিত নয় এমন কোনো অ্যাপ বা প্ল্যাটফর্ম থেকে আসা অনুরোধও বাতিল করা হবে।

App Check সেট আপ করার সময়, রিপ্লে প্রোটেকশন যোগ করার কথা বিবেচনা করুন, যা App Check টোকেনগুলোকে শুধুমাত্র একবার ব্যবহারযোগ্য করে তোলে। এই অপশনটি বেসলাইন প্রোটেকশনের চেয়েও উন্নত সুরক্ষা প্রদান করে এবং আপনাকে আপনার অ্যাপ ও ব্যবহারের ক্ষেত্র অনুযায়ী সুরক্ষার একটি উপযুক্ত স্তর নির্ধারণ করার সুযোগ দেয়।

আপনি App Check সম্পর্কে বিস্তারিত তথ্য এর ডকুমেন্টেশনে খুঁজে পেতে পারেন, যার মধ্যে অ্যাটেস্টেশন প্রদানকারীদের বিবরণ এবং প্রযোজ্য কোটা ও সীমা অন্তর্ভুক্ত রয়েছে।

App Check সেট আপ করুন

নিম্নলিখিত নির্দেশাবলী Firebase AI Logic- এর জন্য Firebase App Check এনফোর্সমেন্ট সেট আপ করার উদ্দেশ্যে বিশেষভাবে তৈরি করা হয়েছে।

ধাপ ১ : App Check কার্যকর করুন

২০২৬ সালের জুলাই মাসের শুরু থেকে, Firebase কনসোলে নির্দেশিত সেটআপ ওয়ার্কফ্লো চলাকালীন, Firebase স্বয়ংক্রিয়ভাবে Firebase AI Logic- এর জন্য Firebase App Check প্রয়োগ করবে, যা Gemini API-কে সুরক্ষিত রাখতে সাহায্য করবে।

তবে, যদি আপনি ২০২৬ সালের জুলাই মাসের শুরুর আগে আপনার Firebase প্রজেক্টে Firebase AI Logic সেট আপ করে থাকেন (অথবা অন্য কোনো কারণে App Check চালু না থাকে), তাহলে আপনি নিম্নলিখিত নির্দেশাবলী ব্যবহার করে নিজেই App Check চালু করতে পারেন।

  1. Firebase AI Logic-এর জন্য App Check ইতিমধ্যেই কার্যকর করা আছে কিনা তা যাচাই করুন।

    1. Firebase কনসোলে, Security > App Check > APIs ট্যাবে যান।

    2. Firebase AI Logic- এর সারিটি খুঁজুন। যদি সেখানে Unenforced লেখা থাকে, তাহলে এই নির্দেশাবলীর বাকি অংশ অনুসরণ করুন।

  2. Firebase AI Logic- এর সারিটিতে ক্লিক করলে আপনি মেট্রিক্স গ্রাফ দেখতে পাবেন। সেই গ্রাফগুলোর নিচে, 'Set up'-এ ক্লিক করুন।

  3. ডায়ালগ বক্সের প্রথম স্ক্রিনে ( বেসলাইন সুরক্ষা ), ‘এনফোর্সড’ নির্বাচন করুন এবং তারপরে ‘কন্টিনিউ’ ক্লিক করুন।

  4. পরবর্তী স্ক্রিনে ( রিপ্লে সুরক্ষা ), ‘অক্ষম’ নির্বাচন করুন এবং তারপরে ‘চালিয়ে যান’ ক্লিক করুন।

  5. চূড়ান্ত স্ক্রিনে, App Check কার্যকর করার বিবেচ্য বিষয়গুলো পর্যালোচনা করে নিশ্চিত হন যে আপনি App Check কার্যকর করার জন্য প্রস্তুত। আপনি প্রস্তুত থাকলে, ' চালিয়ে যান' (Continue) বোতামে ক্লিক করুন।

    যদি আপনি শুধুমাত্র App Check প্রয়োগ করতে চান এবং একটি প্রি-প্রোডাকশন অ্যাপে ফায়ারবেস এআই লজিক (Firebase AI Logic)- এর সাথে ডিবাগ প্রোভাইডার (debug provider) ব্যবহার করতে চান, তাহলে আপনার অ্যাপগুলো রেজিস্টার করার প্রয়োজন নেই । তবে, যখন আপনি আপনার অ্যাপটি এন্ড ইউজারদের জন্য রিলিজ করতে প্রস্তুত হবেন, তখন একটি প্রোডাকশন অ্যাটেস্টেশন প্রোভাইডার (যেমন অ্যাপ অ্যাটেস্ট, প্লে ইন্টিগ্রিটি, বা reCAPTCHA Enterprise ) সেট আপ করার অংশ হিসেবে আপনার অ্যাপগুলো রেজিস্টার করতে হবে।

ধাপ ২ : স্থানীয় ডেভেলপমেন্টের জন্য ডিবাগ প্রোভাইডার সেট আপ করুন

স্থানীয় ডেভেলপমেন্টের জন্য, আপনি App Check ডিবাগ প্রোভাইডার সেট আপ করতে পারেন এবং তারপরেও ফায়ারবেস এআই লজিকের জন্য App Check বলবৎ রাখতে পারেন।

সুইফট

সিমুলেটরে আপনার অ্যাপটি ইন্টারেক্টিভভাবে চালানোর সময় (উদাহরণস্বরূপ, লোকাল ডেভেলপমেন্টের সময়) ডিবাগ প্রোভাইডারটি কীভাবে ব্যবহার করবেন, তা এখানে দেওয়া হলো:

  1. আপনার Xcode প্রজেক্টে, Firebase কনফিগার করার আগে FirebaseAppCheck ইম্পোর্ট করুন এবং ডিবাগ প্রোভাইডার ফ্যাক্টরি দিয়ে App Check ইনিশিয়ালাইজ করুন।

    import SwiftUI
    import FirebaseCore
    import FirebaseAppCheck
    
    @main
    struct YourApp: App {
      init() {
        let providerFactory = AppCheckDebugProviderFactory()
        AppCheck.setAppCheckProviderFactory(providerFactory)
        FirebaseApp.configure()
      }
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
    
  2. আপনার ডিবাগ টোকেন সংগ্রহ করুন:

    1. সিমুলেটরে অথবা আপনার টেস্ট ডিভাইসে অ্যাপটি চালু করুন।

    2. Xcode কনসোল খুলুন এবং App Check ডিবাগ টোকেনটি খুঁজুন। উদাহরণস্বরূপ:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. টোকেনটি কপি করুন (উদাহরণস্বরূপ, 123a4567-b89c-12d3-e456-789012345678 )।

  3. App Check সাথে আপনার ডিবাগ টোকেন নিবন্ধন করুন:

    1. Firebase কনসোলে, Security > App Check > Apps ট্যাবে যান।

    2. আপনার অ্যাপটি খুঁজুন, ওভারফ্লো মেনুতে ( ) ক্লিক করুন এবং তারপরে 'Manage debug tokens' নির্বাচন করুন।

    3. আপনার ডিবাগ টোকেন নিবন্ধন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

ডিবাগ প্রোভাইডার সম্পর্কে বিস্তারিত জানতে (নতুন ডিবাগ টোকেন কীভাবে পাবেন তা সহ), App Check অফিসিয়াল ডকুমেন্টেশন দেখুন।

Kotlin

ইমুলেটরে আপনার অ্যাপটি ইন্টারেক্টিভভাবে চালানোর সময় (উদাহরণস্বরূপ, লোকাল ডেভেলপমেন্টের সময়) ডিবাগ প্রোভাইডারটি কীভাবে ব্যবহার করবেন, তা এখানে দেওয়া হলো:

  1. আপনার ডিবাগ বিল্ডে, ডিবাগ প্রোভাইডার ফ্যাক্টরি ব্যবহার করার জন্য App Check কনফিগার করুন:

    Firebase.initialize(context = this)
    Firebase.appCheck.installAppCheckProviderFactory(
        DebugAppCheckProviderFactory.getInstance(),
    )
  2. আপনার ডিবাগ টোকেন সংগ্রহ করুন:

    1. আপনার অ্যাপটি এমুলেটরে অথবা আপনার টেস্ট ডিভাইসে চালান।

    2. আপনার লগগুলিতে App Check ডিবাগ টোকেনটি খুঁজুন। উদাহরণস্বরূপ:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. টোকেনটি কপি করুন (উদাহরণস্বরূপ, 123a4567-b89c-12d3-e456-789012345678 )।

  3. App Check সাথে আপনার ডিবাগ টোকেন নিবন্ধন করুন:

    1. Firebase কনসোলে, Security > App Check > Apps ট্যাবে যান।

    2. আপনার অ্যাপটি খুঁজুন, ওভারফ্লো মেনুতে ( ) ক্লিক করুন এবং তারপরে 'Manage debug tokens' নির্বাচন করুন।

    3. আপনার ডিবাগ টোকেন নিবন্ধন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

ডিবাগ প্রোভাইডার সম্পর্কে বিস্তারিত জানতে (নতুন ডিবাগ টোকেন কীভাবে পাবেন তা সহ), App Check অফিসিয়াল ডকুমেন্টেশন দেখুন।

Java

ইমুলেটরে আপনার অ্যাপটি ইন্টারেক্টিভভাবে চালানোর সময় (উদাহরণস্বরূপ, লোকাল ডেভেলপমেন্টের সময়) ডিবাগ প্রোভাইডারটি কীভাবে ব্যবহার করবেন, তা এখানে দেওয়া হলো:

  1. আপনার ডিবাগ বিল্ডে, ডিবাগ প্রোভাইডার ফ্যাক্টরি ব্যবহার করার জন্য App Check কনফিগার করুন:

    FirebaseApp.initializeApp(/*context=*/ this);
    FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
    firebaseAppCheck.installAppCheckProviderFactory(
            DebugAppCheckProviderFactory.getInstance());
  2. আপনার ডিবাগ টোকেন সংগ্রহ করুন:

    1. আপনার অ্যাপটি এমুলেটরে অথবা আপনার টেস্ট ডিভাইসে চালান।

    2. আপনার লগগুলিতে App Check ডিবাগ টোকেনটি খুঁজুন। উদাহরণস্বরূপ:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. টোকেনটি কপি করুন (উদাহরণস্বরূপ, 123a4567-b89c-12d3-e456-789012345678 )।

  3. App Check সাথে আপনার ডিবাগ টোকেন নিবন্ধন করুন:

    1. Firebase কনসোলে, Security > App Check > Apps ট্যাবে যান।

    2. আপনার অ্যাপটি খুঁজুন, ওভারফ্লো মেনুতে ( ) ক্লিক করুন এবং তারপরে 'Manage debug tokens' নির্বাচন করুন।

    3. আপনার ডিবাগ টোকেন নিবন্ধন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

ডিবাগ প্রোভাইডার সম্পর্কে বিস্তারিত জানতে (নতুন ডিবাগ টোকেন কীভাবে পাবেন তা সহ), App Check অফিসিয়াল ডকুমেন্টেশন দেখুন।

Web

localhost থেকে আপনার অ্যাপটি ইন্টারেক্টিভভাবে চালানোর সময় (উদাহরণস্বরূপ, লোকাল ডেভেলপমেন্টের সময়) ডিবাগ প্রোভাইডারটি কীভাবে ব্যবহার করবেন, তা এখানে দেওয়া হলো:

  1. আপনার ডিবাগ বিল্ডে, App Check ইনিশিয়ালাইজ করার আগে self.FIREBASE_APPCHECK_DEBUG_TOKEN true সেট করে ডিবাগ মোড চালু করুন। উদাহরণস্বরূপ:

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    
  2. আপনার ওয়েব অ্যাপটি স্থানীয়ভাবে খুলুন এবং ব্রাউজারের ডেভেলপার টুলস খুলুন। ডিবাগ কনসোলে, আপনি একটি ডিবাগ টোকেন দেখতে পাবেন:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    
  3. App Check সাথে আপনার ডিবাগ টোকেন নিবন্ধন করুন:

    1. Firebase কনসোলে, Security > App Check > Apps ট্যাবে যান।

    2. আপনার অ্যাপটি খুঁজুন, ওভারফ্লো মেনুতে ( ) ক্লিক করুন এবং তারপরে 'Manage debug tokens' নির্বাচন করুন।

    3. আপনার ডিবাগ টোকেন নিবন্ধন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

ডিবাগ প্রোভাইডার সম্পর্কে বিস্তারিত জানতে (নতুন ডিবাগ টোকেন কীভাবে পাবেন তা সহ), App Check অফিসিয়াল ডকুমেন্টেশন দেখুন।

Dart

iOS+

সিমুলেটরে আপনার অ্যাপটি ইন্টারেক্টিভভাবে চালানোর সময় (উদাহরণস্বরূপ, লোকাল ডেভেলপমেন্টের সময়) ডিবাগ প্রোভাইডারটি কীভাবে ব্যবহার করবেন, তা এখানে দেওয়া হলো:

  1. আপনার Firebase অ্যাপটি ইনিশিয়ালাইজ করার ঠিক পরেই ডিবাগ প্রোভাইডারের সাহায্যে App Check সক্রিয় করুন:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set appleProvider to `AppleProvider.debug`
        appleProvider: AppleProvider.debug,
      );
      runApp(App());
    }
    
  2. আপনার Xcode প্রোজেক্টে ডিবাগ লগিং চালু করুন:

    1. প্রোডাক্ট > স্কিম > স্কিম সম্পাদনা খুলুন।
    2. বাম দিকের মেনু থেকে রান (Run) নির্বাচন করুন, এবং তারপরে আর্গুমেন্টস (Arguments) ট্যাবটি নির্বাচন করুন।
    3. "Arguments Passed on Launch" বিভাগে, -FIRDebugEnabled " যোগ করুন।
  3. আপনার ডিবাগ টোকেন সংগ্রহ করুন:

    1. Xcode দিয়ে ios/Runner.xcworkspace খুলুন এবং আপনার অ্যাপটি সিমুলেটরে বা আপনার টেস্ট ডিভাইসে চালান।

    2. Xcode কনসোল খুলুন এবং App Check ডিবাগ টোকেনটি খুঁজুন। উদাহরণস্বরূপ:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. টোকেনটি কপি করুন (উদাহরণস্বরূপ, 123a4567-b89c-12d3-e456-789012345678 )।

  4. App Check সাথে আপনার ডিবাগ টোকেন নিবন্ধন করুন:

    1. Firebase কনসোলে, Security > App Check > Apps ট্যাবে যান।

    2. আপনার অ্যাপটি খুঁজুন, ওভারফ্লো মেনুতে ( ) ক্লিক করুন এবং তারপরে 'Manage debug tokens' নির্বাচন করুন।

    3. আপনার ডিবাগ টোকেন নিবন্ধন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

অ্যান্ড্রয়েড

ইমুলেটরে আপনার অ্যাপটি ইন্টারেক্টিভভাবে চালানোর সময় (উদাহরণস্বরূপ, লোকাল ডেভেলপমেন্টের সময়) ডিবাগ প্রোভাইডারটি কীভাবে ব্যবহার করবেন, তা এখানে দেওয়া হলো:

  1. আপনার Firebase অ্যাপটি ইনিশিয়ালাইজ করার ঠিক পরেই ডিবাগ প্রোভাইডারের সাহায্যে App Check সক্রিয় করুন:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set androidProvider to `AndroidProvider.debug`
        androidProvider: AndroidProvider.debug,
      );
      runApp(App());
    }
    
  2. আপনার ডিবাগ টোকেন সংগ্রহ করুন:

    1. আপনার অ্যাপটি এমুলেটরে অথবা আপনার টেস্ট ডিভাইসে চালান।

    2. আপনার লগগুলিতে App Check ডিবাগ টোকেনটি খুঁজুন। উদাহরণস্বরূপ:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. টোকেনটি কপি করুন (উদাহরণস্বরূপ, 123a4567-b89c-12d3-e456-789012345678 )।

  3. App Check সাথে আপনার ডিবাগ টোকেন নিবন্ধন করুন:

    1. Firebase কনসোলে, Security > App Check > Apps ট্যাবে যান।

    2. আপনার অ্যাপটি খুঁজুন, ওভারফ্লো মেনুতে ( ) ক্লিক করুন এবং তারপরে 'Manage debug tokens' নির্বাচন করুন।

    3. আপনার ডিবাগ টোকেন নিবন্ধন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

ওয়েব

localhost থেকে আপনার অ্যাপটি ইন্টারেক্টিভভাবে চালানোর সময় (উদাহরণস্বরূপ, লোকাল ডেভেলপমেন্টের সময়) ডিবাগ প্রোভাইডারটি কীভাবে ব্যবহার করবেন, তা এখানে দেওয়া হলো:

  1. web/index.html ফাইলে, self.FIREBASE_APPCHECK_DEBUG_TOKEN কে true সেট করে ডিবাগ মোড চালু করুন:

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. আপনার ওয়েব অ্যাপটি স্থানীয়ভাবে চালান এবং ব্রাউজারের ডেভেলপার টুলস খুলুন। ডিবাগ কনসোলে, আপনি একটি ডিবাগ টোকেন দেখতে পাবেন:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    

    এই টোকেনটি আপনার ব্রাউজারে স্থানীয়ভাবে সংরক্ষিত থাকে এবং একই মেশিনে একই ব্রাউজারে যখনই আপনি আপনার অ্যাপ ব্যবহার করবেন, তখনই এটি ব্যবহৃত হবে। আপনি যদি টোকেনটি অন্য কোনো ব্রাউজারে বা অন্য কোনো মেশিনে ব্যবহার করতে চান, তাহলে true এর পরিবর্তে ` self.FIREBASE_APPCHECK_DEBUG_TOKEN কে টোকেন স্ট্রিং-এ সেট করুন।

  3. App Check সাথে আপনার ডিবাগ টোকেন নিবন্ধন করুন:

    1. Firebase কনসোলে, Security > App Check > Apps ট্যাবে যান।

    2. আপনার অ্যাপটি খুঁজুন, ওভারফ্লো মেনুতে ( ) ক্লিক করুন এবং তারপরে 'Manage debug tokens' নির্বাচন করুন।

    3. আপনার ডিবাগ টোকেন নিবন্ধন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

ডিবাগ প্রোভাইডার সম্পর্কে বিস্তারিত জানতে (নতুন ডিবাগ টোকেন কীভাবে পাবেন তা সহ), App Check অফিসিয়াল ডকুমেন্টেশন দেখুন।

ঐক্য

ইমুলেটরে আপনার অ্যাপটি ইন্টারেক্টিভভাবে চালানোর সময় (উদাহরণস্বরূপ, লোকাল ডেভেলপমেন্টের সময়) ডিবাগ প্রোভাইডারটি কীভাবে ব্যবহার করবেন, তা এখানে দেওয়া হলো:

  1. Firebase কনসোলে, একটি ডিবাগ টোকেন তৈরি করুন:

    1. Firebase কনসোলে, Security > App Check > Apps ট্যাবে যান।

    2. আপনার অ্যাপটি খুঁজুন, ওভারফ্লো মেনুতে ( ) ক্লিক করুন এবং তারপরে 'Manage debug tokens' নির্বাচন করুন।

    3. একটি নতুন ডিবাগ টোকেন তৈরি করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

  2. আপনার অ্যাপের ইনিশিয়ালাইজেশন কোডে নিম্নলিখিতটি যোগ করুন:

    using Firebase.AppCheck;
    
    void InitializeFirebase() {
      // Configure the Debug Provider factory with your debug token.
      DebugAppCheckProviderFactory.Instance.SetDebugToken("YOUR_DEBUG_TOKEN");
    
      // Set App Check to use the debug provider factory
      FirebaseAppCheck.SetAppCheckProviderFactory(
        DebugAppCheckProviderFactory.Instance);
    
      // Proceed to initialize Firebase as normal
    }
    

ডিবাগ প্রোভাইডার সম্পর্কে বিস্তারিত জানতে (নতুন ডিবাগ টোকেন কীভাবে পাবেন তা সহ), App Check অফিসিয়াল ডকুমেন্টেশন দেখুন।

ধাপ ৩ : শেষ ব্যবহারকারী এবং প্রোডাকশনের জন্য App Check সেট আপ করুন

যখন আপনি আপনার অ্যাপটি ব্যবহারকারীদের জন্য প্রকাশ করতে প্রস্তুত হবেন, তখন আপনাকে আপনার অ্যাপগুলো রেজিস্টার করতে হবে এবং একটি প্রোডাকশন অ্যাটেস্টেশন প্রোভাইডার (যেমন App Attest, Play Integrity, বা reCAPTCHA Enterprise ) সেট আপ করতে হবে।

  1. একটি প্রোডাকশন অ্যাটেস্টেশন প্রোভাইডার বেছে নিন, এবং নিম্নলিখিত লিঙ্কগুলিতে দেওয়া বাস্তবায়ন নির্দেশাবলী অনুসরণ করুন:

    মনে রাখবেন যে, যদি এই অ্যাটেস্টেশন প্রোভাইডারগুলোর কোনোটিই আপনার প্রয়োজনের জন্য যথেষ্ট না হয়, তাহলে আপনি একটি কাস্টম প্রোভাইডার প্রয়োগ করতে পারেন যা হয় কোনো থার্ড-পার্টি অ্যাটেস্টেশন প্রোভাইডার অথবা আপনার নিজস্ব অ্যাটেস্টেশন কৌশল ব্যবহার করে।

  2. (সুপারিশকৃত) রিপ্লে প্রোটেকশন যোগ করে সুরক্ষা আরও জোরদার করুন , যার অর্থ হলো একটি App Check টোকেন শুধুমাত্র একবারই ব্যবহার করা যাবে।

রিপ্লে প্রোটেকশন যোগ করে সুরক্ষা আরও জোরদার করুন।

আমরা সর্বশেষ SDK সংস্করণগুলো ব্যবহার করার পরামর্শ দিই, কিন্তু রিপ্লে সুরক্ষা ব্যবহার করার জন্য নিশ্চিত করুন যে আপনি এই সংস্করণগুলোর মধ্যে অন্তত একটি ব্যবহার করছেন:
অ্যাপল প্ল্যাটফর্ম v12.2.0+ | অ্যান্ড্রয়েড BoM v34.14.0+ ( App Check v19.1.0+) | ওয়েব v12.14.0+ | ফ্লাটার v4.15.0+ ( App Check v4.10.0+) | ইউনিটি v13.12.0+

ডিফল্টরূপে, App Check সেশন টোকেন ব্যবহার করে, যেগুলোর ৩০ মিনিট থেকে ৭ দিনের মধ্যে একটি কনফিগারযোগ্য টাইম টু লিভ (TTL) থাকে। এই সেশন টোকেনগুলো App Check SDK দ্বারা ক্যাশ করা হয়, আপনার অ্যাপ থেকে করা অনুরোধের সাথে পাঠানো হয় এবং এগুলোর TTL শেষ না হওয়া পর্যন্ত পুনরায় ব্যবহার করা যায়। সেশন টোকেন ব্যবহার করাকে বেসলাইন সুরক্ষা হিসেবে বিবেচনা করা হয়।

তবে, আপনি রিপ্লে সুরক্ষা প্রয়োগ করে এই প্রাথমিক সুরক্ষার বাইরেও সুরক্ষা বাড়াতে পারেন, যা এর পরিবর্তে সীমিত-ব্যবহারের টোকেন ব্যবহার করে। যখন রিপ্লে সুরক্ষা প্রয়োগ করা হয়, তখন নিম্নলিখিত ঘটনাগুলো ঘটে:

  • App Check সেশন টোকেন ব্যবহার করে ফায়ারবেস এআই লজিক- এ পাঠানো অনুরোধগুলিকে ব্লক করবে। এর পরিবর্তে, App Check শুধুমাত্র তখনই ফায়ারবেস এআই লজিক- এ কোনো অনুরোধের অনুমতি দেবে, যদি সেটি একটি নতুন তৈরি সীমিত-ব্যবহারের টোকেন ব্যবহার করে।

  • সীমিত-ব্যবহারের টোকেনটি যাচাই করার পর, টোকেনটি এমনভাবে ব্যবহৃত হয়ে যায় যাতে এটি কেবল একবারই ব্যবহার করা যায়, যা রিপ্লে অ্যাটাক প্রতিরোধ করে।

  • App Check এসডিকে প্রতিটি অনুরোধের জন্য একটি নতুন সীমিত-ব্যবহারের টোকেন তৈরি করে। মনে রাখবেন যে এই প্রক্রিয়াটি আপনার অনুরোধগুলিতে কিছু লেটেন্সি এবং কখনও কখনও খরচ যোগ করে প্রভাব ফেলতে পারে (যা আপনার অ্যাটেস্টেশন প্রদানকারীর উপর নির্ভর করে)।

রিপ্লে সুরক্ষা স্থাপন ও প্রয়োগ করুন

এই পৃষ্ঠায় প্রদানকারী-নির্দিষ্ট বিষয়বস্তু এবং কোড দেখতে আপনার জেমিনি এপিআই প্রদানকারীর উপর ক্লিক করুন।

রিপ্লে সুরক্ষা সেট আপ এবং কার্যকর করার পদ্ধতি নিচে দেওয়া হলো:

  1. যদি আগে থেকে সেট আপ না করে থাকেন, তাহলে এই পৃষ্ঠার আগের অংশে দেওয়া নির্দেশাবলী অনুসরণ করে App Check সেট আপ করুন

  2. সীমিত-ব্যবহারের টোকেন ব্যবহার সক্ষম করুন।

    আপনার অ্যাপে ইনস্ট্যানসিয়েশনের সময়, useLimitedUseAppCheckTokens প্যারামিটারটি true তে সেট করুন:

    সুইফট

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    let ai = FirebaseAI.firebaseAI(
      backend: .googleAI(),
      useLimitedUseAppCheckTokens: true
    )
    
    // ...
    
    

    Kotlin

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    val ai = Firebase.ai(
      backend = GenerativeBackend.googleAI(),
      useLimitedUseAppCheckTokens = true
    )
    
    // ...
    
    

    Java

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    FirebaseAI ai = FirebaseAI.getInstance(
      /* backend: */ GenerativeBackend.googleAI(),
      /* useLimitedUseAppCheckTokens: */ true
    );
    
    // ...
    
    

    Web

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    const ai = getAI(firebaseApp, {
      backend: new GoogleAIBackend(),
      useLimitedUseAppCheckTokens: true
    });
    
    // ...
    
    

    Dart

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens
    final ai = await FirebaseAI.googleAI(
      useLimitedUseAppCheckTokens: true,
    );
    
    // ...
    
    

    ঐক্য

    // ...
    
    // During instantiation, enable usage of limited-use tokens
    var ai = FirebaseAI.GetInstance(
      useLimitedUseAppCheckTokens: true
    );
    
    // ...
    
  3. রিপ্লে সুরক্ষা কার্যকর করুন।

    1. আপনার অ্যাপের কোডবেসে, সীমিত-ব্যবহারের টোকেন ব্যবহার সক্ষম করা আছে কিনা তা নিশ্চিত করুন (পূর্ববর্তী ধাপ দেখুন)।

    2. Firebase কনসোলে, Security > App Check- এ যান।

    3. Firebase AI Logic- এর মেট্রিক্স ভিউটি প্রসারিত করুন।

    4. বেসলাইন সুরক্ষা বলবৎ আছে কিনা তা নিশ্চিত করুন, এবং তারপর ' চালিয়ে যান'-এ ক্লিক করুন।

    5. রিপ্লে সুরক্ষার জন্য, আনএনফোর্সড (শুধুমাত্র পর্যবেক্ষণ) অথবা এনফোর্সড বেছে নিন।

      কখন রিপ্লে সুরক্ষা প্রয়োগ করতে হবে, সেই সিদ্ধান্ত নিতে নিম্নলিখিত বিষয়গুলো বিবেচনা করুন:

      • আপনার ব্যবহারকারীদের একটি উল্লেখযোগ্য অংশ যদি সীমিত-ব্যবহারের টোকেন ব্যবহার সক্ষম না করে আপনার অ্যাপের পূর্ববর্তী সংস্করণ ব্যবহার করে থাকেন, তবে আপনার অনুরোধগুলি নিরীক্ষণ করার পরামর্শ দেওয়া হয়। আপনি যদি অবিলম্বে রিপ্লে সুরক্ষা প্রয়োগ করেন, তাহলে সেই ব্যবহারকারীদের অনুরোধগুলি ব্লক হয়ে যাবে।

      • আপনি বিশেষভাবে ‘Unverified: Reused token’ মেট্রিকটি মনিটর করতে পারেন, যা হলো সেইসব রিকোয়েস্টের সংখ্যা, যেগুলোর টোকেন ইতিমধ্যেই পূর্ববর্তী কোনো রিকোয়েস্টে ব্যবহৃত হয়েছে। Firebase কনসোলে এই মেট্রিকটি মনিটর করুন ( Security > App Check > APIs ট্যাবে যান)।

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

Firebase AI Logic কীভাবে App Check সাথে সমন্বিত হয় তা বুঝুন

Firebase AI Logic SDK ব্যবহার করার জন্য, আপনার Firebase প্রজেক্টে Firebase AI Logic API ( firebasevertexai.googleapis.com ) অবশ্যই সক্রিয় থাকতে হবে। এর কারণ হলো, Firebase AI Logic SDK দ্বারা করা অনুরোধগুলো প্রথমে Firebase AI Logic সার্ভারে পাঠানো হয়, যা একটি প্রক্সি গেটওয়ে হিসেবে কাজ করে। এই সার্ভারেই Firebase App Check যাচাইকরণ সম্পন্ন হয় এবং এরপরই অনুরোধটি আপনার নির্বাচিত " Gemini API " প্রদানকারীর ব্যাকএন্ড এবং GeminiImagen মডেলগুলো অ্যাক্সেস করার জন্য API-গুলোতে যাওয়ার অনুমতি পায়।

প্রায়শই জিজ্ঞাসিত প্রশ্ন এবং সমস্যা সমাধান

Firebase AI Logic সম্পর্কিত আরও প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ), সমস্যা সমাধান বা ত্রুটি কোড খুঁজুন।