ওয়েব অ্যাপে ডিবাগ প্রদানকারীর সাথে অ্যাপ চেক ব্যবহার করুন

কোনো ব্যাকএন্ড সার্ভিসের জন্য App Check প্রয়োগ করার পর, আপনার অ্যাপের যে ফিচারগুলো সেই ব্যাকএন্ড সার্ভিসের উপর নির্ভরশীল, সেগুলো localhost বা কন্টিনিউয়াস ইন্টিগ্রেশন (CI) এনভায়রনমেন্ট থেকে চলবে না, কারণ এই এনভায়রনমেন্টগুলো বৈধ ডিভাইস হিসেবে গণ্য হয় না। ডেভেলপমেন্ট এবং টেস্টিংয়ের সময় এই এনভায়রনমেন্টগুলোতে আপনার অ্যাপ চালানোর জন্য, আপনাকে প্রোডাকশন অ্যাটেস্টেশন প্রোভাইডারের পরিবর্তে App Check ডিবাগ প্রোভাইডার ব্যবহার করে আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে হবে।

লোকালহোস্টে ডিবাগ প্রোভাইডার ব্যবহার করুন

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

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

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    firebase.appCheck().activate(/* site key or provider */);
    
  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. আপনার অ্যাপটি খুঁজুন, তিন-বিন্দুযুক্ত ওভারফ্লো মেনুতে ( ) ক্লিক করুন এবং তারপরে 'ম্যানেজ ডিবাগ টোকেনস' নির্বাচন করুন।

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

    ফায়ারবেস কনসোলে থাকা 'ম্যানেজ ডিবাগ টোকেনস' মেনু আইটেমের স্ক্রিনশট।

App Check এ টোকেনটি নিবন্ধন করার পর, আপনার ব্যাকএন্ড পরিষেবাগুলো এটিকে বৈধ হিসেবে গ্রহণ করবে।

এই টোকেনটি একটি বৈধ ডিভাইস ছাড়াই আপনার ব্যাকএন্ড পরিষেবাগুলিতে অ্যাক্সেস দেয়, তাই এটিকে ব্যক্তিগত রাখা অত্যন্ত গুরুত্বপূর্ণ। এটিকে কোনো পাবলিক রিপোজিটরিতে কমিট করবেন না বা আপনার অ্যাপের প্রোডাকশন বিল্ডে অন্তর্ভুক্ত করবেন না। যদি কোনো নিবন্ধিত টোকেন কখনো অরক্ষিত হয়ে পড়ে, তাহলে Firebase কনসোলে থাকা ‘Manage debug tokens’ ব্যবহার করে অবিলম্বে সেটি মুছে ফেলুন।

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

CI পরিবেশে ডিবাগ প্রোভাইডার ব্যবহার করুন

কন্টিনিউয়াস ইন্টিগ্রেশন (CI) পরিবেশে ডিবাগ প্রোভাইডার ব্যবহার করার পদ্ধতি নিচে দেওয়া হলো:

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

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

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

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

    এই টোকেনটি একটি বৈধ ডিভাইস ছাড়াই আপনার ব্যাকএন্ড পরিষেবাগুলিতে অ্যাক্সেস দেয়, তাই এটিকে ব্যক্তিগত রাখা অত্যন্ত গুরুত্বপূর্ণ। এটিকে কোনো পাবলিক রিপোজিটরিতে কমিট করবেন না বা আপনার অ্যাপের প্রোডাকশন বিল্ডে অন্তর্ভুক্ত করবেন না। যদি কোনো নিবন্ধিত টোকেন কখনো অরক্ষিত হয়ে পড়ে, তাহলে Firebase কনসোলে থাকা ‘Manage debug tokens’ ব্যবহার করে অবিলম্বে সেটি মুছে ফেলুন।

    ম্যানেজ ডিবাগ টোকেনস মেনু আইটেমের স্ক্রিনশট

  2. আপনার এইমাত্র তৈরি করা ডিবাগ টোকেনটি আপনার CI সিস্টেমের সুরক্ষিত কী স্টোরে (যেমন, GitHub Actions-এর এনক্রিপ্টেড সিক্রেটস অথবা Travis CI-এর এনক্রিপ্টেড ভ্যারিয়েবলস ) যোগ করুন।

  3. প্রয়োজনে, আপনার ডিবাগ টোকেনটিকে CI এনভায়রনমেন্টের মধ্যে একটি এনভায়রনমেন্ট ভেরিয়েবল হিসেবে উপলব্ধ করতে আপনার CI সিস্টেমটি কনফিগার করুন। ভেরিয়েবলটির নাম দিন APP_CHECK_DEBUG_TOKEN_FROM_CI এর মতো কিছু।

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

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    initializeAppCheck(app, { /* App Check options */ });
    

    Web

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN_FROM_CI;
    firebase.appCheck().activate(/* site key or provider */);
    

যখন আপনার অ্যাপ একটি CI পরিবেশে চলে, তখন আপনার ব্যাকএন্ড পরিষেবাগুলো এর পাঠানো টোকেনটিকে বৈধ হিসেবে গ্রহণ করবে।