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 কনসোলে, নিরাপত্তা > অ্যাপ চেক > অ্যাপ ট্যাব বিকল্পে যান।

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

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

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

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

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

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

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

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

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

    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 এনভায়রনমেন্টে রান করলে, আপনার ব্যাকএন্ড পরিষেবা, এটি পাঠানো টোকেনকে বৈধ হিসেবে গ্রহণ করবে।