Apple প্ল্যাটফর্মে ডিবাগ প্রদানকারীর সাথে App Check ব্যবহার করা

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

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

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

  1. আপনার ডিবাগ বিল্ডে, কোনও Firebase ব্যাকএন্ড পরিষেবা ব্যবহার করার আগে, App Check ডিবাগ প্রোভাইডার ফ্যাক্টরি তৈরি ও সেট করুন:

    Swift

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  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 কনসোলে, নিরাপত্তা > App Check > অ্যাপ ট্যাব বিকল্পে যান।

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

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

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

App Check-এর মাধ্যমে টোকেন রেজিস্টার করার পরে, আপনার ব্যাকএন্ড পরিষেবা এটিকে সঠিক হিসেবে গ্রহণ করবে।

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

CI এনভায়রনমেন্টে ডিবাগ প্রোভাইডার ব্যবহার করা

কন্টিনিউয়াস ইন্টিগ্রেশন (CI) এনভায়রনমেন্টে ইউনিট টেস্টিংয়ের জন্য ডিবাগ প্রোভাইডার কীভাবে ব্যবহার করবেন তা এখানে দেওয়া হল:

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

    1. Firebase কনসোলে, নিরাপত্তা > App Check > অ্যাপ ট্যাব বিকল্পে যান।

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

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

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

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

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

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

  4. Xcode-এ, আপনার টেস্টিং স্কিমে AppCheckDebugToken নামের একটি এনভায়রনমেন্ট ভেরিয়েবেল যোগ করুন এবং ভ্যালু হিসেবে $(APP_CHECK_DEBUG_TOKEN)-এর মতো কিছু লিখুন।

  5. এনভায়রনমেন্ট ভেরিয়েবেল হিসেবে ডিবাগ টোকেন পাস করার জন্য আপনার CI টেস্ট স্ক্রিপ্ট কনফিগার করুন। যেমন:

    xcodebuild test -scheme YOUR_TEST_SCHEME -workspace YOUR_PROJECT.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. আপনার ডিবাগ বিল্ডে, কোনও Firebase ব্যাকএন্ড পরিষেবা ব্যবহার করার আগে, App Check ডিবাগ প্রোভাইডার ফ্যাক্টরি তৈরি ও সেট করুন:

    Swift

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

আপনার অ্যাপ CI এনভায়রনমেন্টে রান করলে, আপনার ব্যাকএন্ড পরিষেবা এটি যে টোকেন পাঠায় সেটি বৈধ হিসেবে গ্রহণ করবে।