অ্যাপল প্ল্যাটফর্মে অ্যাপ অ্যাটেস্ট সহ অ্যাপ চেক ব্যবহার শুরু করুন

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

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

আপনি যদি আপনার নিজস্ব কাস্টম প্রোভাইডারের সাথে App Check ব্যবহার করতে চান, তাহলে ‘একটি কাস্টম App Check প্রোভাইডার বাস্তবায়ন করুন ’ দেখুন।

১. আপনার ফায়ারবেস প্রজেক্ট সেট আপ করুন।

  1. অ্যাপ অ্যাটেস্ট ব্যবহার করার জন্য আপনার এক্সকোড ১২.৫+ প্রয়োজন হবে।

  2. আপনার অ্যাপল প্রজেক্টে ফায়ারবেস যোগ করুন, যদি আগে থেকে তা না করে থাকেন।

  3. Firebase কনসোলে, Security > App Check- এ যান।

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

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

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

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

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

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

  1. ফায়ারবেস ডিপেন্ডেন্সিগুলো ইনস্টল ও পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।

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

  2. Xcode-এ আপনার অ্যাপে App Attest ক্যাপাবিলিটিটি যোগ করুন।

  3. আপনার প্রোজেক্টের .entitlements ফাইলে, App Attest এনভায়রনমেন্টটি production এ সেট করুন।

৩. 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)
  }
}

উদ্দেশ্য-সি

দ্রষ্টব্য: এই 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)
    }
  }
}

উদ্দেশ্য-সি

দ্রষ্টব্য: এই 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()

উদ্দেশ্য-সি

দ্রষ্টব্য: এই Firebase পণ্যটি watchOS টার্গেটে উপলব্ধ নয়।

YourAppCheckProviderFactory *providerFactory =
        [[YourAppCheckProviderFactory alloc] init];
[FIRAppCheck setAppCheckProviderFactory:providerFactory];

[FIRApp configure];

পরবর্তী পদক্ষেপ

আপনার অ্যাপে App Check লাইব্রেরিটি ইনস্টল হয়ে গেলে, ব্যবহারকারীদের কাছে আপডেট করা অ্যাপটি বিতরণ করা শুরু করুন।

আপডেট করা ক্লায়েন্ট অ্যাপটি ফায়ারবেসে করা প্রতিটি অনুরোধের সাথে App Check টোকেন পাঠানো শুরু করবে, কিন্তু ফায়ারবেস কনসোলের App Check বিভাগে আপনি এনফোর্সমেন্ট সক্রিয় না করা পর্যন্ত ফায়ারবেস প্রোডাক্টগুলোর জন্য টোকেনগুলো বৈধ থাকার প্রয়োজন হবে না।

মেট্রিক নিরীক্ষণ করুন এবং প্রয়োগ সক্ষম করুন

তবে, এনফোর্সমেন্ট চালু করার আগে আপনার নিশ্চিত হয়ে নেওয়া উচিত যে, এর ফলে আপনার বিদ্যমান বৈধ ব্যবহারকারীদের কোনো অসুবিধা হবে না। অন্যদিকে, যদি আপনি আপনার অ্যাপের রিসোর্সের সন্দেহজনক ব্যবহার দেখতে পান, তাহলে আপনি আরও দ্রুত এনফোর্সমেন্ট চালু করতে চাইতে পারেন।

এই সিদ্ধান্ত নিতে সাহায্য করার জন্য, আপনি আপনার ব্যবহৃত পরিষেবাগুলোর App Check মেট্রিক্স দেখতে পারেন:

App Check প্রয়োগ সক্ষম করুন

যখন আপনি বুঝতে পারবেন App Check আপনার ব্যবহারকারীদের কীভাবে প্রভাবিত করবে এবং আপনি এগিয়ে যেতে প্রস্তুত হবেন, তখন আপনি App Check এনফোর্সমেন্ট সক্রিয় করতে পারেন:

ডিবাগ পরিবেশে App Check ব্যবহার করুন

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

অ্যাপল প্ল্যাটফর্মে ডিবাগ প্রোভাইডারের সাথে App Check ব্যবহার দেখুন।