Apple প্ল্যাটফর্মে অ্যাপ অ্যাটেস্টের সাথে App Check ব্যবহার করা শুরু করুন

এই পৃষ্ঠা থেকে আপনি জানতে পারবেন যে কীভাবে Apple অ্যাপে App Check চালু করতে হয়, এর জন্য বিল্ট-ইন অ্যাপ অ্যাটেস্ট প্রদানকারী ব্যবহার করা হয়। App Check চালু করলে, আপনি এটি নিশ্চিত করতে সাহায্য করেন যে শুধুমাত্র আপনার অ্যাপই আপনার প্রজেক্টের Firebase রিসোর্স অ্যাক্সেস করতে পারবে। এই ফিচারের ওভারভিউ দেখুন।

Firebase পরিষেবায় করা অনুরোধ আপনার আসল অ্যাপ থেকেই আসছে কিনা তা যাচাই করতে App Check App Attest ব্যবহার করে। জালিয়াতির ঝুঁকি বিশ্লেষণ করতে App Check বর্তমানে App Attest ব্যবহার করে না।

আপনি যদি নিজের কাস্টম প্রদানকারীর সাথে App Check ব্যবহার করতে চান, তাহলে কাস্টম App Check প্রদানকারী প্রয়োগ করুন দেখুন।

১. আপনার Firebase প্রোজেক্ট সেট-আপ করা

  1. App Attest ব্যবহার করতে Xcode 12.5+ ভার্সন লাগবে।

  2. আপনি যদি আগেই Apple প্রোজেক্টে Firebase যোগ না করে থাকেন তাহলে এখন করুন।

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

  4. অ্যাপ ট্যাবে, App Attest প্রদানকারীর সাথে App Check ব্যবহার করতে আপনার অ্যাপ রেজিস্টার করুন।

    সাধারণত, আপনার প্রোজেক্টের সব অ্যাপ রেজিস্টার করতে হবে, কারণ Firebase প্রোডাক্টের জন্য এনফোর্সমেন্ট চালু করলে, শুধুমাত্র রেজিস্টার করা অ্যাপই প্রোডাক্টের ব্যাকএন্ড রিসোর্স অ্যাক্সেস করতে পারবে।

  5. ঐচ্ছিক: টোকেনের টাইম টু লাইভ (TTL) সেট করুন।

    অ্যাপ রেজিস্ট্রেশন সেটিংসে, প্রদানকারীর ইস্যু করা App Check টোকেনের জন্য কাস্টম টাইম টু লিভ (TTL) সেট করুন। আপনি TTL-এর মান ৩০ মিনিট থেকে ৭ দিনের মধ্যে যেকোনও একটি সেট করতে পারেন। এই ভ্যালু পরিবর্তন করার সময়, নিম্নলিখিত ট্রেডঅফ সম্পর্কে সচেতন থাকুন:

    • নিরাপত্তা: কম TTL আরও বেশি নিরাপত্তা প্রদান করে, কারণ এটি এমন উইন্ডো কমিয়ে দেয় যেখানে কোনও ফাঁস হওয়া বা ইন্টারসেপ্ট করা টোকেন কোনও আক্রমণকারী অপব্যবহার করতে পারে।
    • পারফর্ম্যান্স: TTL কম হলে আপনার অ্যাপকে আরও ঘন ঘন অ্যাটেস্টেশন পারফর্ম করতে হবে। অ্যাপ অ্যাটেস্টেশন প্রসেস প্রতিবার পারফর্ম করার সময় নেটওয়ার্ক অনুরোধে লেটেন্সি যোগ করে, তাই TTL কম হলে আপনার অ্যাপের পারফর্ম্যান্সের উপর প্রভাব পড়তে পারে।
    • কোটা ও খরচ: কম TTL ও ঘন ঘন আবার যাচাই করার ফলে আপনার কোটা দ্রুত শেষ হয়ে যায় এবং পেড পরিষেবার ক্ষেত্রে খরচ বেশি হতে পারে। কোটা ও সীমা দেখুন।

    বেশিরভাগ অ্যাপের জন্য ডিফল্ট TTL-এর ১ ঘণ্টা সময়সীমা যুক্তিসঙ্গত। মনে রাখবেন, App Check লাইব্রেরি TTL মেয়াদের প্রায় অর্ধেক সময় অন্তর টোকেন রিফ্রেশ করে।

২. আপনার অ্যাপে App Check লাইব্রেরি যোগ করুন

  1. Firebase-এর নির্ভরতা ইনস্টল ও ম্যানেজ করতে Swift Package Manager ব্যবহার করুন।

    Xcode-এ, আপনার অ্যাপ প্রোজেক্ট খোলা থাকা অবস্থায়, ফাইল > প্যাকেজ যোগ করুন বিকল্পে নেভিগেট করুন, Firebase Apple প্ল্যাটফর্ম SDK রিপোজিটরি যোগ করুন (https://github.com/firebase/firebase-ios-sdk) এবং FirebaseAppCheck লাইব্রেরি বেছে নিন।

  2. Xcode-এ, আপনার অ্যাপে অ্যাপ অ্যাটেস্ট করার সুবিধা যোগ করুন।

  3. আপনার প্রজেক্টের .entitlements ফাইলে, অ্যাপ অ্যাটেস্ট এনভায়রনমেন্টকে 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 মেট্রিক দেখতে পারেন:

App Check এনফোর্সমেন্ট চালু করা

App Check আপনার ব্যবহারকারীদের কীভাবে প্রভাবিত করবে তা আপনি বুঝতে পারলে এবং এগিয়ে যাওয়ার জন্য প্রস্তুত হলে, আপনি App Check প্রয়োগ করা চালু করতে পারবেন:

ডিবাগ এনভায়রনমেন্টে App Check ব্যবহার করুন

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

Apple প্ল্যাটফর্মে ডিবাগ প্রদানকারীর সাথে App Check ব্যবহার করুন দেখুন।