এই পৃষ্ঠাটি আপনাকে দেখাবে কীভাবে একটি iOS অ্যাপে অ্যাপ চেক সক্রিয় করতে হয়। আপনি যখন অ্যাপ চেক সক্রিয় করেন, তখন এটি নিশ্চিত করতে সাহায্য হয় যে শুধুমাত্র আপনার অ্যাপই আপনার প্রোজেক্টের পক্ষ থেকে গুগলের OAuth 2.0 এন্ডপয়েন্টগুলো অ্যাক্সেস করতে পারবে। এই ফিচারটির একটি ওভারভিউ দেখুন।
OAuth 2.0 অনুরোধগুলো আপনার আসল অ্যাপ থেকেই আসছে কিনা, তা যাচাই করতে App Check, App Attest ব্যবহার করে। App Check জালিয়াতির ঝুঁকি বিশ্লেষণ করতে App Attest ব্যবহার করে না।
শুরু করার আগে
নিশ্চিত করুন যে আপনার কাছে Xcode 12.5 বা তার নতুন সংস্করণ রয়েছে।
গুগল সাইন -ইন লাইব্রেরি ব্যবহার করে আপনার iOS অ্যাপে গুগল সাইন-ইন যুক্ত করুন।
১. আপনার প্রজেক্টটি সেট আপ করুন
অ্যাপ চেক গুগল এপিআই কনসোল অথবা ফায়ারবেস কনসোলে সক্রিয় করা যেতে পারে। উভয় স্থানে এটি সক্রিয় করার প্রয়োজন নেই, যেকোনো একটিই যথেষ্ট।
গুগল এপিআই কনসোল
আপনার iOS ক্লায়েন্টের জন্য অ্যাপ চেক সফলভাবে সক্রিয় করতে নিম্নলিখিত শর্তগুলি অবশ্যই পূরণ করতে হবে:- আপনাকে আপনার iOS ক্লায়েন্টের জন্য একটি টিম আইডি নির্দিষ্ট করতে হবে।
- আপনার বান্ডেল আইডিতে ওয়াইল্ডকার্ড ব্যবহার করা যাবে না, কারণ এটি একাধিক অ্যাপকে নির্দেশ করতে পারে। এর অর্থ হলো, বান্ডেল আইডিতে অ্যাস্টারিস্ক (*) চিহ্নটি অন্তর্ভুক্ত করা যাবে না।
অ্যাপ চেক চালু করার পর, আপনি OAuth ক্লায়েন্টের এডিট ভিউতে আপনার ক্লায়েন্ট থেকে আসা OAuth অনুরোধ সম্পর্কিত মেট্রিক্স দেখতে শুরু করবেন। আপনি অ্যাপ চেক প্রয়োগ না করা পর্যন্ত যাচাইবিহীন উৎস থেকে আসা অনুরোধগুলি ব্লক করা হবে না। মেট্রিক্স মনিটরিং পৃষ্ঠার তথ্য আপনাকে এটি কখন প্রয়োগ করা শুরু করতে হবে তা নির্ধারণ করতে সাহায্য করতে পারে।
আপনার iOS অ্যাপের জন্য অ্যাপ চেক চালু করার সময় আপনি অ্যাপ চেক বৈশিষ্ট্য সম্পর্কিত ত্রুটি দেখতে পারেন। এই ত্রুটিগুলি সমাধান করতে, নিম্নলিখিতগুলি চেষ্টা করুন:
- আপনার নির্দিষ্ট করা বান্ডেল আইডি এবং টিম আইডি বৈধ কিনা তা যাচাই করুন।
- নিশ্চিত করুন যে আপনি বান্ডেল আইডির জন্য কোনো ওয়াইল্ডকার্ড ব্যবহার করছেন না।
ফায়ারবেস কনসোল
গুগল সাইন-ইন দিয়ে অ্যাপ চেক ব্যবহার করতে হলে আপনার একটি ফায়ারবেস প্রজেক্ট থাকতে হবে।
আপনার অ্যাপে যদি আগে থেকেই ফায়ারবেস ব্যবহার করা হয়, তাহলে একই প্রজেক্টটি ব্যবহার করুন।
আপনার অ্যাপে যদি গুগল সাইন-ইন ব্যবহৃত হয়, কিন্তু ফায়ারবেস ব্যবহৃত না হয়, তাহলে আপনার ইতিমধ্যেই একটি গুগল ক্লাউড প্রজেক্ট আছে। ফায়ারবেস কনসোলে নতুন প্রজেক্ট তৈরি করার সময় ফায়ারবেস নির্বাচন করে আপনার গুগল ক্লাউড প্রজেক্টে এটি যোগ করুন।
আরও দেখুন: ফায়ারবেস প্রজেক্ট এবং গুগল ক্লাউডের মধ্যে সম্পর্ক
যদি আপনি ইতিমধ্যে তা না করে থাকেন, তাহলে Firebase কনসোলের প্রজেক্ট সেটিংস পৃষ্ঠা ব্যবহার করে আপনার iOS অ্যাপগুলিকে আপনার Firebase প্রজেক্টে যুক্ত করুন।
ফায়ারবেস কনসোলের অ্যাপ চেক বিভাগে অ্যাপ অ্যাটেস্ট প্রদানকারীর কাছে অ্যাপ চেক ব্যবহার করার জন্য আপনার অ্যাপগুলিকে নিবন্ধন করুন।
আপনার প্রোজেক্টের সমস্ত OAuth ক্লায়েন্ট যেন কোনো অ্যাপের সাথে লিঙ্ক করা থাকে, তা নিশ্চিত করুন।
আপনার যদি আনলিঙ্ক করা ক্লায়েন্ট থাকে, তাহলে আপনি অ্যাপ চেক পেজের Google Identity for iOS বিভাগে একটি বার্তা দেখতে পাবেন, যেখানে লেখা থাকবে, "আপনার n সংখ্যক আনলিঙ্ক করা OAuth ক্লায়েন্ট রয়েছে যেগুলোর জন্য অতিরিক্ত সেটআপ প্রয়োজন।"
এছাড়াও, আপনি যদি অ্যাপ চেক-এ সেট আপ করার পরে কিছু OAuth ক্লায়েন্ট মুছে ফেলেন, তাহলে আপনি একটি বার্তা দেখতে পাবেন যেখানে লেখা থাকবে, "আপনার n সংখ্যক ওভাররাইড আছে যার সাথে কোনো OAuth ক্লায়েন্ট মেলে না"। আপনি নিরাপদে সেই ওভাররাইডগুলি মুছে দিয়ে পরিষ্কার করতে পারেন।
আপনি Firebase কনসোলের OAuth ক্লায়েন্ট পেজে আনলিঙ্ক করা ক্লায়েন্টদের একটি বিদ্যমান বা নতুন অ্যাপের সাথে লিঙ্ক করতে পারেন।
২. আপনার অ্যাপে গুগল সাইন-ইন লাইব্রেরি যোগ করুন
আপনার Xcode প্রজেক্টে, Google Sign-in ডিপেন্ডেন্সিটি ভার্সন
8.0.0বা তার উচ্চতর সংস্করণে সেট করুন:এসপিএম
googlesignin-iosএর ডিপেন্ডেন্সি রুলটি ভার্সন8.0.0বা তার উচ্চতর সংস্করণে সেট করুন।কোকোপড
আপনার
Podfileআপডেট করুন:source 'https://github.com/CocoaPods/Specs.git' source 'https://github.com/firebase/SpecsDev.git' target 'YourAppName' do use_frameworks! pod 'GoogleSignIn','~> 8.0' :git => 'https://github.com/google/GoogleSignIn-iOS.git' pod 'GoogleSignInSwiftSupport' # If you use SwiftUI. endএরপর,
pod installচালান এবং তৈরি হওয়া.xcworkspaceফাইলটি খুলুন।Xcode-এ আপনার অ্যাপে App Attest ক্যাপাবিলিটিটি যোগ করুন।
আপনার প্রোজেক্টের
.entitlementsফাইলে, App Attest এনভায়রনমেন্টটিproductionএ সেট করুন।
৩. অ্যাপ চেক শুরু করুন
আপনার অ্যাপ ডেলিগেটের didFinishLaunchingWithOptions মেথডে, GIDSignIn.sharedInstance.configure(completion:) কল করুন। ব্যবহারকারীর কাছে অনুভূত লেটেন্সি কমানোর জন্য আপনার অ্যাপের লাইফসাইকেলে যত তাড়াতাড়ি সম্ভব এই মেথডটি কল করা উচিত।
import SwiftUI
import GoogleSignIn
class AppDelegate: NSObject, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
#if targetEnvironment(simulator)
// Configure for debugging.
// See: https://developers.google.com/identity/sign-in/ios/appcheck/debug-provider
#else
GIDSignIn.sharedInstance.configure { error in
if let error {
print("Error configuring `GIDSignIn` for Firebase App Check: \(error)")
}
}
#endif
return true
}
}
@main
struct YourAppNameApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
// ...
}
পরবর্তী পদক্ষেপ
আপনার অ্যাপে অ্যাপ চেক লাইব্রেরিটি ইনস্টল হয়ে গেলে, ব্যবহারকারীদের কাছে আপডেট করা অ্যাপটি বিতরণ করা শুরু করুন।
আপডেট করা ক্লায়েন্ট অ্যাপটি গুগলের অথেনটিকেশন এন্ডপয়েন্টগুলিতে করা প্রতিটি অনুরোধের সাথে অ্যাপ চেক টোকেন পাঠানো শুরু করবে, কিন্তু আপনি ফায়ারবেস কনসোলের অ্যাপ চেক বিভাগে এনফোর্সমেন্ট সক্রিয় না করা পর্যন্ত এন্ডপয়েন্টগুলির টোকেন বৈধ হওয়ার প্রয়োজন হবে না।
মেট্রিক্স নিরীক্ষণ করুন
তবে, এনফোর্সমেন্ট চালু করার আগে আপনার নিশ্চিত হয়ে নেওয়া উচিত যে, এর ফলে আপনার বিদ্যমান বৈধ ব্যবহারকারীদের কোনো অসুবিধা হবে না। অন্যদিকে, যদি আপনি আপনার অ্যাপের রিসোর্সের সন্দেহজনক ব্যবহার দেখতে পান, তাহলে আপনি আরও দ্রুত এনফোর্সমেন্ট চালু করতে চাইতে পারেন।
এই সিদ্ধান্ত নিতে সাহায্য করার জন্য, আপনি গুগল সাইন-ইন-এর অ্যাপ চেক মেট্রিক্স দেখতে পারেন।
অ্যাপ চেক প্রয়োগ সক্ষম করুন
যখন আপনি বুঝতে পারবেন অ্যাপ চেক আপনার ব্যবহারকারীদের কীভাবে প্রভাবিত করবে এবং আপনি এগিয়ে যেতে প্রস্তুত হবেন, তখন আপনি অ্যাপ চেক এনফোর্সমেন্ট সক্রিয় করতে পারেন।
ডিবাগ পরিবেশে অ্যাপ চেক ব্যবহার করুন
অ্যাপ চেক-এর জন্য আপনার অ্যাপটি নিবন্ধন করার পর, যদি আপনি এমন কোনো পরিবেশে আপনার অ্যাপটি চালাতে চান যা অ্যাপ চেক সাধারণত বৈধ বলে গণ্য করে না, যেমন ডেভেলপমেন্ট চলাকালীন সিমুলেটরে বা কন্টিনিউয়াস ইন্টিগ্রেশন (CI) পরিবেশ থেকে, তাহলে আপনি অ্যাপ অ্যাটেস্ট-এর পরিবর্তে অ্যাপ চেক ডিবাগ প্রোভাইডার ব্যবহার করে আপনার অ্যাপের একটি ডিবাগ বিল্ড তৈরি করতে পারেন।