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

আপনার অ্যাপের জন্য নন-গুগল কাস্টম ব্যাকএন্ড রিসোর্স, যেমন আপনার নিজস্ব স্ব-হোস্টেড ব্যাকএন্ড, সুরক্ষিত রাখতে আপনি App Check ব্যবহার করতে পারেন। এটি করার জন্য, আপনাকে নিম্নলিখিত দুটি কাজ করতে হবে:

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

শুরু করার আগে

আপনার অ্যাপে App Check যোগ করুন, reCAPTCHA এন্টারপ্রাইজ প্রোভাইডার অথবা কাস্টম প্রোভাইডার ব্যবহার করে।

ব্যাকএন্ড অনুরোধ সহ 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);