ওয়েব অ্যাপে অ্যাপ চেক-এর মাধ্যমে অ-ফায়ারবেস সংস্থানগুলিকে সুরক্ষিত করুন

আপনি App Check মাধ্যমে আপনার অ্যাপের নন-ফায়ারবেস সংস্থানগুলি যেমন স্ব-হোস্টেড ব্যাকএন্ডগুলি রক্ষা করতে পারেন৷ এটি করার জন্য, আপনাকে নিম্নলিখিত উভয়টি করতে হবে:

  • এই পৃষ্ঠায় বর্ণিত প্রতিটি অনুরোধের সাথে একটি App Check টোকেন পাঠাতে আপনার অ্যাপ ক্লায়েন্টকে পরিবর্তন করুন।
  • একটি কাস্টম ব্যাকএন্ড থেকে ভেরিফাই App Check App Check চেক টোকেনের প্রয়োজনে আপনার ব্যাকএন্ড পরিবর্তন করুন।

আপনি শুরু করার আগে

reCAPTCHA এন্টারপ্রাইজ প্রদানকারী বা একটি কাস্টম প্রদানকারী ব্যবহার করে আপনার অ্যাপে App Check যোগ করুন।

ব্যাকএন্ড অনুরোধ সহ App Check টোকেন পাঠান

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

একবার আপনার কাছে একটি বৈধ টোকেন হয়ে গেলে, আপনার ব্যাকএন্ডে অনুরোধ সহ এটি পাঠান। আপনি কীভাবে এটি সম্পন্ন করবেন তার সুনির্দিষ্ট বিষয়গুলি আপনার উপর নির্ভর করে, কিন্তু ক্যোয়ারী প্যারামিটার সহ URL-এর অংশ হিসাবে App Check টোকেনগুলি পাঠাবেন না , কারণ এটি তাদের দুর্ঘটনাজনিত ফাঁস এবং বাধার জন্য ঝুঁকিপূর্ণ করে তোলে৷ নিম্নলিখিত উদাহরণটি একটি কাস্টম HTTP শিরোনামে টোকেন পাঠায়, যা প্রস্তাবিত পদ্ধতি।

Web

import { initializeAppCheck, getToken } from 'firebase/app-check';

const appCheck = initializeAppCheck(
    app,
    { provider: provider } // ReCaptchaV3Provider or CustomProvider
);

const callApiWithAppCheckExample = async () => {
  let appCheckTokenResponse;
  try {
      appCheckTokenResponse = await getToken(appCheck, /* forceRefresh= */ false);
  } catch (err) {
      // Handle any errors if the token was not retrieved.
      return;
  }

  // Include the App Check token with requests to your server.
  const apiResponse = await fetch('https://yourbackend.example.com/yourApiEndpoint', {
      headers: {
          'X-Firebase-AppCheck': appCheckTokenResponse.token,
      }
  });

  // Handle response from your backend.
};

Web

const callApiWithAppCheckExample = async () => {
  let appCheckTokenResponse;
  try {
      appCheckTokenResponse = await firebase.appCheck().getToken(/* forceRefresh= */ false);
  } catch (err) {
      // Handle any errors if the token was not retrieved.
      return;
  }

  // Include the App Check token with requests to your server.
  const apiResponse = await fetch('https://yourbackend.example.com/yourApiEndpoint', {
      headers: {
          'X-Firebase-AppCheck': appCheckTokenResponse.token,
      }
  });

  // Handle response from your backend.
};

রিপ্লে সুরক্ষা (বিটা)

আপনি রিপ্লে সুরক্ষা সক্ষম করেছেন এমন একটি এন্ডপয়েন্টে অনুরোধ করার সময়, getToken() getLimitedUseToken() () ব্যবহার করে একটি টোকেন অর্জন করুন:

import { getLimitedUseToken } from "firebase/app-check";

// ...

appCheckTokenResponse = await getLimitedUseToken(appCheck);