Check out what’s new from Firebase at Google I/O 2022. Learn more

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

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

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

তুমি শুরু করার আগে

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

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

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

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

Web version 9

const { initializeAppCheck, getToken } = require('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 version 8

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.
};