এই পৃষ্ঠাটি আপনাকে দেখাবে কিভাবে আপনার নিজস্ব App Check প্রোভাইডার ব্যবহার করে একটি C++ অ্যাপে App Check সক্রিয় করতে হয়। যখন আপনি App Check সক্রিয় করেন, তখন আপনি এটি নিশ্চিত করতে সাহায্য করেন যে শুধুমাত্র আপনার অ্যাপই আপনার প্রোজেক্টের ফায়ারবেস রিসোর্সগুলো অ্যাক্সেস করতে পারবে।
আপনি যদি ডিফল্ট প্রোভাইডারগুলির সাথে App Check ব্যবহার করতে চান, তাহলে C++ এর সাথে ডিফল্ট প্রোভাইডারগুলির মাধ্যমে App Check সক্ষম করুন দেখুন।
শুরু করার আগে
আপনার C++ প্রজেক্টে Firebase যোগ করুন , যদি আগে থেকে তা করা না থাকে।
আপনার নিজস্ব App Check প্রোভাইডারের সার্ভার-সাইড লজিক প্রয়োগ করুন ।
১. আপনার অ্যাপে App Check লাইব্রেরিটি যোগ করুন
অ্যাপ চেক-এর সেটআপ নির্দেশাবলী অনুসরণ করে আপনার ডিপেন্ডেন্সি সেটে অ্যাপ চেক লাইব্রেরিটি অন্তর্ভুক্ত করুন।
২. App Check ইন্টারফেসগুলো বাস্তবায়ন করুন
প্রথমে, আপনাকে এমন ক্লাস তৈরি করতে হবে যা AppCheckProvider এবং AppCheckProviderFactory ইন্টারফেসগুলো ইমপ্লিমেন্ট করে।
আপনার AppCheckProvider ক্লাসে অবশ্যই একটি GetToken() মেথড থাকতে হবে, যা আপনার কাস্টম App Check প্রোভাইডারের সত্যতার প্রমাণ হিসেবে প্রয়োজনীয় তথ্য সংগ্রহ করে এবং একটি App Check টোকেনের বিনিময়ে আপনার টোকেন অ্যাকুইজিশন সার্ভিসে পাঠায়। App Check SDK টোকেন ক্যাশিং পরিচালনা করে, তাই আপনার GetToken() মেথডের ইমপ্লিমেন্টেশনে সর্বদা একটি নতুন টোকেন সংগ্রহ করুন।
class YourCustomAppCheckProvider : public AppCheckProvider {
void GetToken(std::function<void(AppCheckToken, int, const std::string&)>
completion_callback) {
// Logic to exchange proof of authenticity for an App Check token and
// expiration time.
// ...
// Create AppCheckToken object.
AppCheckToken appCheckToken;
appCheckToken.token = token;
appCheckToken.expire_time_millis = expireTime;
completion_callback(appCheckToken, 0, "");
// Or, if needing to return an error
//completion_callback({}, error_code, "Error description");
}
};
এছাড়াও, একটি AppCheckProviderFactory ক্লাস প্রয়োগ করুন যা আপনার AppCheckProvider ইমপ্লিমেন্টেশনের ইনস্ট্যান্স তৈরি করে:
class YourCustomAppCheckProviderFactory : public AppCheckProviderFactory {
AppCheckProvider* CreateProvider(App* app) {
// Create and return an AppCheckProvider object.
return new YourCustomAppCheckProvider(app);
}
}
৩. App Check শুরু করুন
আপনার অ্যাপে নিম্নলিখিত ইনিশিয়ালাইজেশন কোডটি যোগ করুন, যাতে অন্য কোনো Firebase SDK ব্যবহার করার আগে এটি রান করে:
firebase::app_check::AppCheck::SetAppCheckProviderFactory(
YourCustomAppCheckProviderFactory::GetInstance());
পরবর্তী পদক্ষেপ
আপনার অ্যাপে App Check লাইব্রেরিটি ইনস্টল হয়ে গেলে, ব্যবহারকারীদের কাছে আপডেট করা অ্যাপটি বিতরণ করা শুরু করুন।
আপডেট করা ক্লায়েন্ট অ্যাপটি ফায়ারবেসে করা প্রতিটি অনুরোধের সাথে App Check টোকেন পাঠানো শুরু করবে, কিন্তু ফায়ারবেস কনসোলের App Check বিভাগে আপনি এনফোর্সমেন্ট সক্রিয় না করা পর্যন্ত ফায়ারবেস প্রোডাক্টগুলোর জন্য টোকেনগুলো বৈধ থাকার প্রয়োজন হবে না।
মেট্রিক নিরীক্ষণ করুন এবং প্রয়োগ সক্ষম করুন
তবে, এনফোর্সমেন্ট চালু করার আগে আপনার নিশ্চিত হয়ে নেওয়া উচিত যে, এর ফলে আপনার বিদ্যমান বৈধ ব্যবহারকারীদের কোনো অসুবিধা হবে না। অন্যদিকে, যদি আপনি আপনার অ্যাপের রিসোর্সের সন্দেহজনক ব্যবহার দেখতে পান, তাহলে আপনি আরও দ্রুত এনফোর্সমেন্ট চালু করতে চাইতে পারেন।
এই সিদ্ধান্ত নিতে সাহায্য করার জন্য, আপনি আপনার ব্যবহৃত পরিষেবাগুলোর App Check মেট্রিক্স দেখতে পারেন:
- Firebase AI Logic , Data Connect , Realtime Database , Cloud Firestore , Cloud Storage , Authentication , Google Identity for iOS, Maps JavaScript API, এবং Places API (New)-এর জন্য App Check রিকোয়েস্ট মেট্রিক্স মনিটর করুন ।
- Cloud Functions জন্য App Check অনুরোধের মেট্রিক্স নিরীক্ষণ করুন ।
App Check প্রয়োগ সক্ষম করুন
যখন আপনি বুঝতে পারবেন App Check আপনার ব্যবহারকারীদের কীভাবে প্রভাবিত করবে এবং আপনি এগিয়ে যেতে প্রস্তুত হবেন, তখন আপনি App Check এনফোর্সমেন্ট সক্রিয় করতে পারেন:
- Firebase AI Logic , Data Connect , Realtime Database , Cloud Firestore , Cloud Storage , Authentication , Google Identity for iOS, Maps JavaScript API, এবং Places API (নতুন)-এর জন্য App Check এনফোর্সমেন্ট সক্রিয় করুন ।
- Cloud Functions জন্য App Check প্রয়োগ সক্ষম করুন ।
ডিবাগ পরিবেশে App Check ব্যবহার করুন
App Check জন্য আপনার অ্যাপটি নিবন্ধন করার পর, আপনি যদি এমন কোনো পরিবেশে আপনার অ্যাপটি চালাতে চান যা App Check সাধারণত বৈধ বলে গণ্য করে না, যেমন ডেভেলপমেন্টের সময় কোনো এমুলেটর থেকে, অথবা কোনো কন্টিনিউয়াস ইন্টিগ্রেশন (CI) পরিবেশ থেকে, তাহলে আপনি একটি আসল অ্যাটেস্টেশন প্রোভাইডারের পরিবর্তে App Check ডিবাগ প্রোভাইডার ব্যবহার করে আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে পারেন।
C++ এর সাথে ডিবাগ প্রোভাইডার ব্যবহার করে App Check দেখুন।