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

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

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

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

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

  1. অ্যাপ অ্যাটেস্ট ব্যবহার করার জন্য আপনার Xcode 12.5+ প্রয়োজন হবে।

  2. যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার অ্যাপল প্রজেক্টে Firebase যোগ করুন

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

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

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

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

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

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

  1. আপনার প্রকল্পের Podfile App Check জন্য নির্ভরতা যোগ করুন:

    pod 'FirebaseAppCheck'

    অথবা, বিকল্পভাবে, আপনি এর পরিবর্তে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করতে পারেন।

    আপনি যে অন্য যেকোনো Firebase SDK-এর উপর নির্ভরশীল, তার সর্বশেষ সংস্করণটিও ব্যবহার করছেন কিনা তা নিশ্চিত করুন।

  2. pod install চালান এবং তৈরি .xcworkspace ফাইলটি খুলুন।

  3. Xcode-এ, আপনার অ্যাপে App Attest ক্ষমতা যোগ করুন।

  4. আপনার প্রোজেক্টের .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 লাইব্রেরি ইনস্টল হয়ে গেলে, আপনার ব্যবহারকারীদের কাছে আপডেট করা অ্যাপটি বিতরণ করা শুরু করুন।

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

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

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

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

App Check এনফোর্সমেন্ট সক্ষম করুন

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

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

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

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