এই পৃষ্ঠাটি আপনাকে দেখায় কিভাবে একটি Apple অ্যাপে App Check সক্ষম করতে হয়, বিল্ট-ইন অ্যাপ অ্যাটেস্ট প্রদানকারী ব্যবহার করে। আপনি যখন App Check সক্ষম করেন, তখন আপনি নিশ্চিত করতে সাহায্য করেন যে শুধুমাত্র আপনার অ্যাপই আপনার প্রকল্পের ফায়ারবেস সংস্থান অ্যাক্সেস করতে পারে। এই বৈশিষ্ট্য একটি ওভারভিউ দেখুন.
ফায়ারবেস পরিষেবাগুলির অনুরোধগুলি আপনার খাঁটি অ্যাপ থেকে আসছে কিনা তা যাচাই করতে App Check অ্যাপ অ্যাটেস্ট ব্যবহার করে। App Check বর্তমানে জালিয়াতির ঝুঁকি বিশ্লেষণ করতে অ্যাপ অ্যাটেস্ট ব্যবহার করে না।
আপনি যদি আপনার নিজস্ব কাস্টম প্রদানকারীর সাথে App Check ব্যবহার করতে চান, তাহলে একটি কাস্টম App Check প্রদানকারী প্রয়োগ করুন দেখুন।
1. আপনার Firebase প্রকল্প সেট আপ করুন৷
App Attest ব্যবহার করতে আপনার Xcode 12.5+ প্রয়োজন হবে।
আপনি যদি ইতিমধ্যে এটি না করে থাকেন তবে আপনার Apple প্রকল্পে Firebase যোগ করুন ।
Firebase কনসোলের App Check বিভাগে অ্যাপ অ্যাটেস্ট প্রদানকারীর সাথে App Check ব্যবহার করতে আপনার অ্যাপগুলি নিবন্ধন করুন।
আপনাকে সাধারণত আপনার প্রকল্পের সমস্ত অ্যাপ নিবন্ধন করতে হবে, কারণ একবার আপনি একটি Firebase পণ্যের জন্য এনফোর্সমেন্ট সক্ষম করলে, শুধুমাত্র নিবন্ধিত অ্যাপগুলি পণ্যের ব্যাকএন্ড সংস্থানগুলি অ্যাক্সেস করতে সক্ষম হবে৷
ঐচ্ছিক : অ্যাপ রেজিস্ট্রেশন সেটিংসে, প্রদানকারীর দ্বারা জারি করা App Check টোকেনের জন্য একটি কাস্টম টাইম-টু-লাইভ (TTL) সেট করুন। আপনি TTL 30 মিনিট থেকে 7 দিনের মধ্যে যেকোনো মান সেট করতে পারেন। এই মান পরিবর্তন করার সময়, নিম্নলিখিত ট্রেডঅফ সম্পর্কে সচেতন হন:
- নিরাপত্তা: সংক্ষিপ্ত TTLগুলি শক্তিশালী নিরাপত্তা প্রদান করে, কারণ এটি সেই উইন্ডোকে হ্রাস করে যেখানে একটি ফাঁস হওয়া বা আটকানো টোকেন আক্রমণকারী দ্বারা অপব্যবহার করা যেতে পারে।
- পারফরম্যান্স: ছোট TTL মানে আপনার অ্যাপ আরও ঘন ঘন প্রত্যয়ন করবে। যেহেতু অ্যাপ্লিকেশানের প্রত্যয়ন প্রক্রিয়াটি প্রতিবার সম্পাদিত হওয়ার সময় নেটওয়ার্ক অনুরোধগুলিতে বিলম্বিত করে, তাই একটি সংক্ষিপ্ত TTL আপনার অ্যাপের কর্মক্ষমতা প্রভাবিত করতে পারে।
- কোটা এবং খরচ: সংক্ষিপ্ত TTL এবং ঘন ঘন পুনঃপ্রত্যয়ন আপনার কোটা দ্রুত শেষ করে, এবং অর্থপ্রদানের পরিষেবার জন্য, সম্ভাব্যভাবে আরও বেশি খরচ হতে পারে। কোটা এবং সীমা দেখুন।
বেশিরভাগ অ্যাপের জন্য 1 ঘন্টার ডিফল্ট TTL যুক্তিসঙ্গত। মনে রাখবেন যে App Check লাইব্রেরি টিটিএল সময়কালের প্রায় অর্ধেক সময়ে টোকেন রিফ্রেশ করে।
2. আপনার অ্যাপে App Check লাইব্রেরি যোগ করুন
আপনার প্রকল্পের
Podfile
App Check জন্য নির্ভরতা যোগ করুন:pod 'FirebaseAppCheck'
অথবা, বিকল্পভাবে, আপনি পরিবর্তে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করতে পারেন।
আপনি যে অন্য Firebase SDK-এর উপর নির্ভরশীল তার সর্বশেষ সংস্করণও ব্যবহার করছেন তা নিশ্চিত করুন।
pod install
চালান এবং তৈরি করা.xcworkspace
ফাইলটি খুলুন।Xcode-এ, আপনার অ্যাপে অ্যাপ অ্যাটেস্ট ক্ষমতা যোগ করুন।
আপনার প্রজেক্টের
.entitlements
ফাইলে, অ্যাপ অ্যাটেস্ট এনভায়রনমেন্টকেproduction
সেট করুন।
3. App Check শুরু করুন
অন্য কোনো Firebase SDK ব্যবহার করার আগে আপনাকে App Check শুরু করতে হবে।
প্রথমে, AppCheckProviderFactory
এর একটি বাস্তবায়ন লিখুন। আপনার বাস্তবায়নের সুনির্দিষ্টতা আপনার ব্যবহারের ক্ষেত্রে নির্ভর করবে।
উদাহরণস্বরূপ, যদি আপনার শুধুমাত্র iOS 14 এবং পরবর্তী ব্যবহারকারী থাকে, তাহলে আপনি সহজভাবে AppAttestProvider
অবজেক্ট তৈরি করতে পারেন:
সুইফট
দ্রষ্টব্য: এই Firebase পণ্যটি watchOS লক্ষ্যে উপলব্ধ নয়।
class YourSimpleAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { return AppAttestProvider(app: app) } }
উদ্দেশ্য-C
দ্রষ্টব্য: এই Firebase পণ্যটি watchOS লক্ষ্যে উপলব্ধ নয়।
@interface YourSimpleAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory> @end @implementation YourSimpleAppCheckProviderFactory - (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app { return [[FIRAppAttestProvider alloc] initWithApp:app]; } @end
অথবা, আপনি iOS 14 এবং পরবর্তীতে AppAttestProvider
অবজেক্ট তৈরি করতে পারেন এবং আগের সংস্করণে DeviceCheckProvider
এ ফিরে যেতে পারেন:
সুইফট
দ্রষ্টব্য: এই Firebase পণ্যটি watchOS লক্ষ্যে উপলব্ধ নয়।
class YourAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { if #available(iOS 14.0, *) { return AppAttestProvider(app: app) } else { return DeviceCheckProvider(app: app) } } }
উদ্দেশ্য-C
দ্রষ্টব্য: এই Firebase পণ্যটি watchOS লক্ষ্যে উপলব্ধ নয়।
@interface YourAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory> @end @implementation YourAppCheckProviderFactory - (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app { if (@available(iOS 14.0, *)) { return [[FIRAppAttestProvider alloc] initWithApp:app]; } else { return [[FIRDeviceCheckProvider alloc] initWithApp:app]; } } @end
আপনি একটি AppCheckProviderFactory
ক্লাস প্রয়োগ করার পরে, এটি ব্যবহার করার জন্য App Check কনফিগার করুন:
সুইফট
দ্রষ্টব্য: এই Firebase পণ্যটি watchOS লক্ষ্যে উপলব্ধ নয়।
let providerFactory = YourAppCheckProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
উদ্দেশ্য-C
দ্রষ্টব্য: এই Firebase পণ্যটি watchOS লক্ষ্যে উপলব্ধ নয়।
YourAppCheckProviderFactory *providerFactory = [[YourAppCheckProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; [FIRApp configure];
পরবর্তী পদক্ষেপ
একবার আপনার অ্যাপে App Check লাইব্রেরি ইনস্টল হয়ে গেলে, আপডেট করা অ্যাপটি আপনার ব্যবহারকারীদের কাছে বিতরণ করা শুরু করুন।
আপডেট হওয়া ক্লায়েন্ট অ্যাপটি Firebase-এ করা প্রতিটি অনুরোধের সাথে App Check টোকেন পাঠাতে শুরু করবে, কিন্তু Firebase পণ্যগুলির টোকেন বৈধ হওয়ার প্রয়োজন হবে না যতক্ষণ না আপনি Firebase কনসোলের App Check বিভাগে এনফোর্সমেন্ট চালু করেন।
মেট্রিক্স নিরীক্ষণ এবং প্রয়োগ সক্ষম
আপনি এনফোর্সমেন্ট সক্ষম করার আগে, তবে, আপনাকে নিশ্চিত করতে হবে যে এটি করা আপনার বিদ্যমান বৈধ ব্যবহারকারীদের ব্যাহত করবে না। অন্যদিকে, আপনি যদি আপনার অ্যাপ সংস্থানগুলির সন্দেহজনক ব্যবহার দেখতে পান তবে আপনি শীঘ্রই এনফোর্সমেন্ট সক্ষম করতে চাইতে পারেন৷
এই সিদ্ধান্ত নিতে সাহায্য করতে, আপনি যে পরিষেবাগুলি ব্যবহার করেন তার জন্য App Check মেট্রিক্স দেখতে পারেন:
- Firebase-এ Realtime Database , Cloud Firestore , Cloud Storage , Authentication (বিটা) এবং Vertex AI in Firebase জন্য App Check অনুরোধের মেট্রিক্স মনিটর করুন ।
- Cloud Functions জন্য App Check রিকোয়েস্ট মেট্রিক্স মনিটর করুন ।
App Check এনফোর্সমেন্ট সক্ষম করুন
যখন আপনি বুঝতে পারবেন কিভাবে App Check আপনার ব্যবহারকারীদের প্রভাবিত করবে এবং আপনি এগিয়ে যাওয়ার জন্য প্রস্তুত, আপনি App Check এনফোর্সমেন্ট সক্ষম করতে পারেন:
- Firebase-এ Realtime Database , Cloud Firestore , Cloud Storage , Authentication (বিটা) এবং Vertex AI in Firebase এর জন্য App Check এনফোর্সমেন্ট সক্ষম করুন ।
- Cloud Functions জন্য App Check এনফোর্সমেন্ট সক্ষম করুন ৷
ডিবাগ পরিবেশে App Check ব্যবহার করুন
আপনি যদি App Check জন্য আপনার অ্যাপ নিবন্ধন করার পরে, আপনি এমন পরিবেশে আপনার অ্যাপ চালাতে চান যা App Check সাধারণত বৈধ হিসাবে শ্রেণীবদ্ধ করে না, যেমন বিকাশের সময় একটি সিমুলেটর, বা একটি ক্রমাগত ইন্টিগ্রেশন (CI) পরিবেশ থেকে, আপনি করতে পারেন আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করুন যা প্রকৃত সত্যায়ন প্রদানকারীর পরিবর্তে App Check ডিবাগ প্রদানকারী ব্যবহার করে।
অ্যাপল প্ল্যাটফর্মে ডিবাগ প্রদানকারীর সাথে App Check ব্যবহার করুন দেখুন।
,এই পৃষ্ঠাটি আপনাকে দেখায় কিভাবে একটি Apple অ্যাপে App Check সক্ষম করতে হয়, বিল্ট-ইন অ্যাপ অ্যাটেস্ট প্রদানকারী ব্যবহার করে। আপনি যখন App Check সক্ষম করেন, তখন আপনি নিশ্চিত করতে সাহায্য করেন যে শুধুমাত্র আপনার অ্যাপই আপনার প্রকল্পের ফায়ারবেস সংস্থান অ্যাক্সেস করতে পারে। এই বৈশিষ্ট্য একটি ওভারভিউ দেখুন.
ফায়ারবেস পরিষেবাগুলির অনুরোধগুলি আপনার খাঁটি অ্যাপ থেকে আসছে কিনা তা যাচাই করতে App Check অ্যাপ অ্যাটেস্ট ব্যবহার করে। App Check বর্তমানে জালিয়াতির ঝুঁকি বিশ্লেষণ করতে অ্যাপ অ্যাটেস্ট ব্যবহার করে না।
আপনি যদি আপনার নিজস্ব কাস্টম প্রদানকারীর সাথে App Check ব্যবহার করতে চান, তাহলে একটি কাস্টম App Check প্রদানকারী প্রয়োগ করুন দেখুন।
1. আপনার Firebase প্রকল্প সেট আপ করুন৷
App Attest ব্যবহার করতে আপনার Xcode 12.5+ প্রয়োজন হবে।
আপনি যদি ইতিমধ্যে এটি না করে থাকেন তবে আপনার Apple প্রকল্পে Firebase যোগ করুন ।
Firebase কনসোলের App Check বিভাগে অ্যাপ অ্যাটেস্ট প্রদানকারীর সাথে App Check ব্যবহার করতে আপনার অ্যাপগুলি নিবন্ধন করুন।
আপনাকে সাধারণত আপনার প্রকল্পের সমস্ত অ্যাপ নিবন্ধন করতে হবে, কারণ একবার আপনি একটি Firebase পণ্যের জন্য এনফোর্সমেন্ট সক্ষম করলে, শুধুমাত্র নিবন্ধিত অ্যাপগুলি পণ্যের ব্যাকএন্ড সংস্থানগুলি অ্যাক্সেস করতে সক্ষম হবে৷
ঐচ্ছিক : অ্যাপ রেজিস্ট্রেশন সেটিংসে, প্রদানকারীর দ্বারা জারি করা App Check টোকেনের জন্য একটি কাস্টম টাইম-টু-লাইভ (TTL) সেট করুন। আপনি TTL 30 মিনিট থেকে 7 দিনের মধ্যে যেকোনো মান সেট করতে পারেন। এই মান পরিবর্তন করার সময়, নিম্নলিখিত ট্রেডঅফ সম্পর্কে সচেতন হন:
- নিরাপত্তা: সংক্ষিপ্ত TTLগুলি শক্তিশালী নিরাপত্তা প্রদান করে, কারণ এটি সেই উইন্ডোকে হ্রাস করে যেখানে একটি ফাঁস হওয়া বা আটকানো টোকেন আক্রমণকারী দ্বারা অপব্যবহার করা যেতে পারে।
- পারফরম্যান্স: ছোট TTL মানে আপনার অ্যাপ আরও ঘন ঘন প্রত্যয়ন করবে। যেহেতু অ্যাপ্লিকেশানের প্রত্যয়ন প্রক্রিয়াটি প্রতিবার সম্পাদিত হওয়ার সময় নেটওয়ার্ক অনুরোধগুলিতে বিলম্বিত করে, তাই একটি সংক্ষিপ্ত TTL আপনার অ্যাপের কর্মক্ষমতা প্রভাবিত করতে পারে।
- কোটা এবং খরচ: সংক্ষিপ্ত TTL এবং ঘন ঘন পুনঃপ্রত্যয়ন আপনার কোটা দ্রুত শেষ করে, এবং অর্থপ্রদানের পরিষেবার জন্য, সম্ভাব্য বেশি খরচ হয়। কোটা এবং সীমা দেখুন।
বেশিরভাগ অ্যাপের জন্য 1 ঘন্টার ডিফল্ট TTL যুক্তিসঙ্গত। মনে রাখবেন যে App Check লাইব্রেরি টিটিএল সময়কালের প্রায় অর্ধেক সময়ে টোকেন রিফ্রেশ করে।
2. আপনার অ্যাপে App Check লাইব্রেরি যোগ করুন
আপনার প্রকল্পের
Podfile
App Check জন্য নির্ভরতা যোগ করুন:pod 'FirebaseAppCheck'
অথবা, বিকল্পভাবে, আপনি পরিবর্তে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করতে পারেন।
আপনি যে অন্য Firebase SDK-এর উপর নির্ভরশীল তার সর্বশেষ সংস্করণও ব্যবহার করছেন তা নিশ্চিত করুন।
pod install
চালান এবং তৈরি করা.xcworkspace
ফাইলটি খুলুন।Xcode-এ, আপনার অ্যাপে অ্যাপ অ্যাটেস্ট ক্ষমতা যোগ করুন।
আপনার প্রজেক্টের
.entitlements
ফাইলে, অ্যাপ অ্যাটেস্ট এনভায়রনমেন্টকেproduction
সেট করুন।
3. App Check শুরু করুন
অন্য কোনো Firebase SDK ব্যবহার করার আগে আপনাকে App Check শুরু করতে হবে।
প্রথমে, AppCheckProviderFactory
এর একটি বাস্তবায়ন লিখুন। আপনার বাস্তবায়নের সুনির্দিষ্টতা আপনার ব্যবহারের ক্ষেত্রে নির্ভর করবে।
উদাহরণস্বরূপ, যদি আপনার শুধুমাত্র iOS 14 এবং পরবর্তী ব্যবহারকারী থাকে, তাহলে আপনি সহজভাবে AppAttestProvider
অবজেক্ট তৈরি করতে পারেন:
সুইফট
দ্রষ্টব্য: এই Firebase পণ্যটি watchOS লক্ষ্যে উপলব্ধ নয়।
class YourSimpleAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { return AppAttestProvider(app: app) } }
উদ্দেশ্য-C
দ্রষ্টব্য: এই Firebase পণ্যটি watchOS লক্ষ্যে উপলব্ধ নয়।
@interface YourSimpleAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory> @end @implementation YourSimpleAppCheckProviderFactory - (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app { return [[FIRAppAttestProvider alloc] initWithApp:app]; } @end
অথবা, আপনি iOS 14 এবং পরবর্তীতে AppAttestProvider
অবজেক্ট তৈরি করতে পারেন এবং আগের সংস্করণে DeviceCheckProvider
এ ফিরে যেতে পারেন:
সুইফট
দ্রষ্টব্য: এই Firebase পণ্যটি watchOS লক্ষ্যে উপলব্ধ নয়।
class YourAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { if #available(iOS 14.0, *) { return AppAttestProvider(app: app) } else { return DeviceCheckProvider(app: app) } } }
উদ্দেশ্য-C
দ্রষ্টব্য: এই Firebase পণ্যটি watchOS লক্ষ্যে উপলব্ধ নয়।
@interface YourAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory> @end @implementation YourAppCheckProviderFactory - (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app { if (@available(iOS 14.0, *)) { return [[FIRAppAttestProvider alloc] initWithApp:app]; } else { return [[FIRDeviceCheckProvider alloc] initWithApp:app]; } } @end
আপনি একটি AppCheckProviderFactory
ক্লাস প্রয়োগ করার পরে, এটি ব্যবহার করার জন্য App Check কনফিগার করুন:
সুইফট
দ্রষ্টব্য: এই Firebase পণ্যটি watchOS লক্ষ্যে উপলব্ধ নয়।
let providerFactory = YourAppCheckProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
উদ্দেশ্য-C
দ্রষ্টব্য: এই Firebase পণ্যটি watchOS লক্ষ্যে উপলব্ধ নয়।
YourAppCheckProviderFactory *providerFactory = [[YourAppCheckProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; [FIRApp configure];
পরবর্তী পদক্ষেপ
একবার আপনার অ্যাপে App Check লাইব্রেরি ইনস্টল হয়ে গেলে, আপডেট করা অ্যাপটি আপনার ব্যবহারকারীদের কাছে বিতরণ করা শুরু করুন।
আপডেট হওয়া ক্লায়েন্ট অ্যাপটি Firebase-এ করা প্রতিটি অনুরোধের সাথে App Check টোকেন পাঠাতে শুরু করবে, কিন্তু Firebase পণ্যগুলির টোকেন বৈধ হওয়ার প্রয়োজন হবে না যতক্ষণ না আপনি Firebase কনসোলের App Check বিভাগে এনফোর্সমেন্ট চালু করেন।
মেট্রিক্স নিরীক্ষণ এবং প্রয়োগ সক্ষম
আপনি এনফোর্সমেন্ট সক্ষম করার আগে, তবে, আপনাকে নিশ্চিত করতে হবে যে এটি করা আপনার বিদ্যমান বৈধ ব্যবহারকারীদের ব্যাহত করবে না। অন্যদিকে, আপনি যদি আপনার অ্যাপ সংস্থানগুলির সন্দেহজনক ব্যবহার দেখতে পান তবে আপনি শীঘ্রই এনফোর্সমেন্ট সক্ষম করতে চাইতে পারেন৷
এই সিদ্ধান্ত নিতে সাহায্য করতে, আপনি যে পরিষেবাগুলি ব্যবহার করেন তার জন্য App Check মেট্রিক্স দেখতে পারেন:
- Firebase-এ Realtime Database , Cloud Firestore , Cloud Storage , Authentication (বিটা) এবং Vertex AI in Firebase জন্য App Check অনুরোধের মেট্রিক্স মনিটর করুন ।
- Cloud Functions জন্য App Check রিকোয়েস্ট মেট্রিক্স মনিটর করুন ।
App Check এনফোর্সমেন্ট সক্ষম করুন
যখন আপনি বুঝতে পারবেন কিভাবে App Check আপনার ব্যবহারকারীদের প্রভাবিত করবে এবং আপনি এগিয়ে যাওয়ার জন্য প্রস্তুত, আপনি App Check এনফোর্সমেন্ট সক্ষম করতে পারেন:
- Firebase-এ Realtime Database , Cloud Firestore , Cloud Storage , Authentication (বিটা) এবং Vertex AI in Firebase এর জন্য App Check এনফোর্সমেন্ট সক্ষম করুন ।
- Cloud Functions জন্য App Check এনফোর্সমেন্ট সক্ষম করুন ৷
ডিবাগ পরিবেশে App Check ব্যবহার করুন
আপনি যদি App Check জন্য আপনার অ্যাপ নিবন্ধন করার পরে, আপনি এমন পরিবেশে আপনার অ্যাপ চালাতে চান যা App Check সাধারণত বৈধ হিসাবে শ্রেণীবদ্ধ করে না, যেমন বিকাশের সময় একটি সিমুলেটর, বা একটি ক্রমাগত ইন্টিগ্রেশন (CI) পরিবেশ থেকে, আপনি করতে পারেন আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করুন যা প্রকৃত সত্যায়ন প্রদানকারীর পরিবর্তে App Check ডিবাগ প্রদানকারী ব্যবহার করে।
অ্যাপল প্ল্যাটফর্মে ডিবাগ প্রদানকারীর সাথে App Check ব্যবহার করুন দেখুন।