এই পৃষ্ঠা থেকে আপনি জানতে পারবেন যে কীভাবে বিল্ট-ইন App Attest প্রদানকারী ব্যবহার করে Apple অ্যাপে App Check চালু করতে হয়। App Check চালু করলে, আপনি এটি নিশ্চিত করতে সাহায্য করেন যে শুধুমাত্র আপনার অ্যাপই আপনার প্রোজেক্টের Firebase রিসোর্স অ্যাক্সেস করতে পারবে। এই ফিচারের এক নজরে দেখুন।
Firebase পরিষেবার জন্য করা অনুরোধ আপনার আসল অ্যাপ থেকে আসছে কিনা তা যাচাই করতে App Check App Attest ব্যবহার করে। App Check বর্তমানে প্রতারণার ঝুঁকি বিশ্লেষণ করতে App Attest ব্যবহার করে না।
আপনি নিজের কাস্টম প্রোভাইডারের সাথে App Check ব্যবহার করতে চাইলে, কাস্টম App Check প্রোভাইডার প্রয়োগ করুন দেখুন।
১. আপনার Firebase প্রোজেক্ট সেট-আপ করুন
App Attest ব্যবহার করতে আপনার Xcode 12.5+ প্রয়োজন হবে।
আপনি আগে থেকে করে না থাকলে, আপনার Apple প্রোজেক্টে Firebase যোগ করুন।
Firebase কনসোলে, নিরাপত্তা > App Check বিকল্পে নেভিগেট করুন।
অ্যাপ ট্যাবে, App Attest প্রোভাইডারের সাথে App Check ব্যবহার করার জন্য আপনার অ্যাপ রেজিস্টার করুন।
সাধারণত আপনার প্রোজেক্টের সব অ্যাপ রেজিস্টার করতে হয়, কারণ আপনি একবার Firebase প্রোডাক্টের জন্য এনফোর্সমেন্ট চালু করলে, শুধুমাত্র রেজিস্টার করা অ্যাপই প্রোডাক্টের ব্যাকএন্ড রিসোর্স অ্যাক্সেস করতে পারবে।
ঐচ্ছিক: টোকেন টাইম টু লাইভ (TTL) সেট করুন।
অ্যাপ রেজিস্ট্রেশন সেটিংসে, প্রদানকারীর ইস্যু করা App Check টোকেনের জন্য কাস্টম টাইম টু লাইভ (TTL) সেট করুন। আপনি TTL-এর ভ্যালু ৩০ মিনিট থেকে ৭ দিনের মধ্যে যেকোনও সময় সেট করতে পারবেন। এই ভ্যালু পরিবর্তন করার সময়, নিম্নলিখিত ট্রেড-অফ সম্পর্কে সচেতন থাকুন:
- নিরাপত্তা: ছোট TTL আরও শক্তিশালী নিরাপত্তা প্রদান করে, কারণ এটি সেই উইন্ডোকে কমিয়ে দেয় যেখানে কোনও আক্রমণকারী লিক হওয়া বা ইন্টারসেপ্ট করা টোকেনের অপব্যবহার করতে পারে।
- পারফর্ম্যান্স: TTL কম হলে আপনার অ্যাপ আরও ঘন ঘন অ্যাটেস্টেশন করবে। অ্যাপ অ্যাটেস্টেশন প্রসেস প্রতিবার পারফর্ম করার সময় নেটওয়ার্ক অনুরোধে লেটেন্সি যোগ করে, তাই ছোট TTL আপনার অ্যাপের পারফর্ম্যান্সের উপর প্রভাব ফেলতে পারে।
- কোটা ও খরচ: কম TTL এবং ঘন ঘন আবার অ্যাটেস্টেশন করার ফলে আপনার কোটা দ্রুত শেষ হয়ে যায় এবং পেড পরিষেবার ক্ষেত্রে, সম্ভাব্য খরচ বেশি হয়। কোটা ও সীমা দেখুন।
বেশিরভাগ অ্যাপের জন্য ডিফল্ট TTL ১ ঘণ্টা হলে তা যুক্তিযুক্ত। মনে রাখবেন যে App Check লাইব্রেরি TTL সময়সীমার প্রায় অর্ধেক সময়ে টোকেন রিফ্রেশ করে।
২. আপনার অ্যাপে App Check লাইব্রেরি যোগ করুন
Firebase ডিপেন্ডেন্সি ইনস্টল ও ম্যানেজ করতে Swift Package Manager ব্যবহার করুন।
Xcode-এ, আপনার অ্যাপ প্রোজেক্ট খোলা রেখে, ফাইল > প্যাকেজ যোগ করুন বিকল্পে নেভিগেট করুন, Firebase Apple প্ল্যাটফর্ম SDK রিপোজিটরি (
https://github.com/firebase/firebase-ios-sdk) যোগ করুন এবং FirebaseAppCheck লাইব্রেরি বেছে নিন।Xcode-এ, আপনার অ্যাপে App Attest ক্ষমতা যোগ করুন।
আপনার প্রোজেক্টের
.entitlementsফাইলে, App Attest এনভায়রনমেন্টকেproduction-এ সেট করুন।
৩. App Check শুরু করুন
অন্য কোনও Firebase SDK ব্যবহার করার আগে আপনাকে App Check ইনিশিয়ালাইজ করতে হবে।
প্রথমে, AppCheckProviderFactory-এর ইমপ্লিমেন্টেশন লিখুন। আপনার প্রয়োগের
নির্দিষ্ট বিবরণ আপনার ব্যবহারের ক্ষেত্রের উপর নির্ভর করবে।
যেমন, আপনার ব্যবহারকারীরা যদি শুধু iOS 14 এবং তার পরবর্তী ভার্সন ব্যবহার করেন, তাহলে আপনি সবসময়
AppAttestProvider অবজেক্ট তৈরি করতে পারেন:
Swift
মনে রাখবেন: এই Firebase প্রোডাক্ট watchOS টার্গেটে উপলভ্য নয়।
class YourSimpleAppCheckProviderFactory: NSObject, AppCheckProviderFactory { func createProvider(with app: FirebaseApp) -> AppCheckProvider? { return AppAttestProvider(app: app) } }
Objective-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-এ ফিরে যেতে পারেন:
Swift
মনে রাখবেন: এই 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) } } }
Objective-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 কনফিগার করুন:
Swift
মনে রাখবেন: এই Firebase প্রোডাক্ট watchOS টার্গেটে উপলভ্য নয়।
let providerFactory = YourAppCheckProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
Objective-C
মনে রাখবেন: এই Firebase প্রোডাক্ট watchOS টার্গেটে উপলভ্য নয়।
YourAppCheckProviderFactory *providerFactory = [[YourAppCheckProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; [FIRApp configure];
পরবর্তী ধাপ
আপনার অ্যাপে App Check লাইব্রেরি ইনস্টল করা হয়ে গেলে, ব্যবহারকারীদের কাছে আপডেট করা অ্যাপ ডিস্ট্রিবিউট করা শুরু করুন।
আপডেট করা ক্লায়েন্ট অ্যাপ Firebase-এ পাঠানো প্রতিটি অনুরোধের সাথে App Check টোকেন পাঠানো শুরু করবে, তবে Firebase কনসোলের App Check বিভাগে এনফোর্সমেন্ট চালু না করা পর্যন্ত Firebase প্রোডাক্টের জন্য টোকেন বৈধ হওয়ার প্রয়োজন নেই।
মেট্রিক মনিটর করুন এবং এনফোর্সমেন্ট চালু করুন
তবে, এনফোর্সমেন্ট চালু করার আগে, আপনাকে নিশ্চিত করতে হবে যে এটি করার ফলে আপনার বর্তমান বৈধ ব্যবহারকারীদের কোনও সমস্যা হবে না। অন্যদিকে, আপনার অ্যাপ রিসোর্সের সন্দেহজনক ব্যবহার দেখতে পেলে, আপনি হয়ত আরও তাড়াতাড়ি এনফোর্সমেন্ট চালু করতে চাইবেন।
এই সিদ্ধান্ত নিতে সাহায্য করার জন্য, আপনি যে পরিষেবা ব্যবহার করেন তার জন্য App Check মেট্রিক দেখতে পারেন:
- Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, iOS-এর জন্য Google Identity, Maps JavaScript API এবং Places API (নতুন)-এর জন্য App Check অনুরোধের মেট্রিক মনিটর করুন।
- Cloud Functions-এর জন্য App Check অনুরোধের মেট্রিক মনিটর করুন।
App Check এনফোর্সমেন্ট চালু করুন
App Check আপনার ব্যবহারকারীদের উপর কীভাবে প্রভাব ফেলবে তা বোঝার পরে এবং আপনি এগিয়ে যাওয়ার জন্য প্রস্তুত হলে, App Check এনফোর্সমেন্ট চালু করতে পারবেন:
- Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, iOS-এর জন্য Google Identity, Maps JavaScript API এবং Places API (নতুন)-এর জন্য App Check এনফোর্সমেন্ট চালু করুন।
- Cloud Functions-এর জন্য App Check এনফোর্সমেন্ট চালু করুন।
ডিবাগ এনভায়রনমেন্টে App Check ব্যবহার করা
App Check-এর জন্য আপনার অ্যাপ রেজিস্টার করার পরে, আপনি যদি এমন পরিবেশে আপনার অ্যাপ চালাতে চান যা App Check সাধারণত বৈধ হিসেবে শ্রেণীবদ্ধ করবে না, যেমন ডেভেলপমেন্টের সময় সিমুলেটর বা কন্টিনিউয়াস ইন্টিগ্রেশন (CI) পরিবেশ থেকে, তাহলে আপনি আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে পারেন যা আসল অ্যাটেস্টেশন প্রোভাইডারের পরিবর্তে App Check ডিবাগ প্রোভাইডার ব্যবহার করে।
Apple প্ল্যাটফর্মে ডিবাগ প্রোভাইডারের সাথে App Check ব্যবহার করুন দেখুন।