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

আপনি যদি অ্যাপ চেকের জন্য আপনার অ্যাপ নিবন্ধিত করার পরে, আপনি এমন পরিবেশে আপনার অ্যাপ চালাতে চান যা অ্যাপ চেক সাধারণত বৈধ হিসাবে শ্রেণীবদ্ধ করে না, যেমন বিকাশের সময় একটি সিমুলেটর, বা একটি অবিচ্ছিন্ন ইন্টিগ্রেশন (CI) পরিবেশ থেকে, আপনি করতে পারেন আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করুন যা অ্যাপ অ্যাটেস্টের পরিবর্তে অ্যাপ চেক ডিবাগ প্রদানকারী ব্যবহার করে।

একটি সিমুলেটরে ডিবাগ প্রদানকারী ব্যবহার করুন

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

  1. Google ক্লাউড কনসোলের API এবং পরিষেবা বিভাগের শংসাপত্র পৃষ্ঠায় আপনার প্রকল্পের জন্য iOS API কীটি দেখুন।

  2. আপনার ডিবাগ বিল্ডে, ডিবাগ প্রদানকারী ব্যবহার করতে অ্যাপ চেক কনফিগার করুন। আগের ধাপে আপনি যে API কী পেয়েছেন তা আপনাকে নির্দিষ্ট করতে হবে।

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    
  3. অ্যাপটি চালু করুন। যখন SDK ব্যাকএন্ডে একটি অনুরোধ পাঠানোর চেষ্টা করে তখন একটি স্থানীয় ডিবাগ টোকেন Xcode কনসোলে লগ ইন করা হবে। উদাহরণ স্বরূপ:

    <Warning> [AppCheckCore][I-GAC004001] App Check debug token:
    '123a4567-b89c-12d3-e456-789012345678'.
    
  4. Firebase কনসোলের অ্যাপ চেক বিভাগে, আপনার অ্যাপের ওভারফ্লো মেনু থেকে ডিবাগ টোকেন পরিচালনা করুন বেছে নিন। তারপরে, আপনি আগের ধাপে লগ ইন করা ডিবাগ টোকেনটি নিবন্ধন করুন৷

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

আপনি টোকেনটি নিবন্ধন করার পরে, Google এর OAuth 2.0 এন্ডপয়েন্টগুলি এটিকে আপনার প্রকল্পের জন্য বৈধ হিসাবে গ্রহণ করবে৷

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

একটি CI পরিবেশে ডিবাগ প্রদানকারী ব্যবহার করুন

একটি ক্রমাগত ইন্টিগ্রেশন (CI) পরিবেশে ডিবাগ প্রদানকারী ব্যবহার করতে, নিম্নলিখিতগুলি করুন:

  1. Firebase কনসোলের অ্যাপ চেক বিভাগে, আপনার অ্যাপের ওভারফ্লো মেনু থেকে ডিবাগ টোকেন পরিচালনা করুন বেছে নিন। তারপর, একটি নতুন ডিবাগ টোকেন তৈরি করুন। পরবর্তী ধাপে আপনার টোকেন প্রয়োজন হবে।

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

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

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

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

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

  5. পরিবেশ পরিবর্তনশীল হিসাবে ডিবাগ টোকেন পাস করতে আপনার CI পরীক্ষার স্ক্রিপ্ট কনফিগার করুন। উদাহরণ স্বরূপ:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. Google ক্লাউড কনসোলের API এবং পরিষেবা বিভাগের শংসাপত্র পৃষ্ঠায় আপনার প্রকল্পের জন্য iOS API কীটি দেখুন।

  7. আপনার ডিবাগ বিল্ডে, ডিবাগ প্রদানকারী ব্যবহার করতে অ্যাপ চেক কনফিগার করুন। আগের ধাপে আপনি যে API কী পেয়েছেন তা আপনাকে নির্দিষ্ট করতে হবে।

    #if targetEnvironment(simulator)
    GIDSignIn.sharedInstance.configureDebugProvider(withAPIKey: apiKey) { error in
      if let error {
        print("Error configuring `GIDSignIn` for App Check: \(error)")
      }
    }
    #else
    // Configure App Check for production.
    #endif
    

যখন আপনার অ্যাপটি একটি CI পরিবেশে চলে, তখন Google-এর OAuth 2.0 এন্ডপয়েন্ট আপনার প্রজেক্টের জন্য বৈধ হিসেবে পাঠানো টোকেন গ্রহণ করবে।