Firebase-এর মাধ্যমে যাচাই করার জন্য আপনি Firebase Authentication ব্যবহার করে সাময়িক বেনামী অ্যাকাউন্ট তৈরি ও ব্যবহার করতে পারবেন। এইসব অস্থায়ী বেনামী অ্যাকাউন্ট ব্যবহার করে এমন ব্যবহারকারীদের অনুমতি দেওয়া যেতে পারে যারা এখনও আপনার অ্যাপে সাইন-আপ করেননি, যাতে তারা নিরাপত্তা সংক্রান্ত নিয়মের মাধ্যমে সুরক্ষিত ডেটা নিয়ে কাজ করতে পারেন। কোনও পরিচয় গোপন রাখা ব্যবহারকারী আপনার অ্যাপে সাইন-আপ করার সিদ্ধান্ত নিলে, আপনি পরিচয় গোপন রাখা অ্যাকাউন্টের সাথে তার সাইন-ইন ক্রেডেনশিয়াল লিঙ্ক করতে পারবেন যাতে ভবিষ্যতের সেশনে তিনি সুরক্ষিত ডেটা নিয়ে কাজ চালিয়ে যেতে পারেন।
শুরু করার আগে
-
Firebase ডিপেন্ডেন্সি ইনস্টল ও ম্যানেজ করতে Swift প্যাকেজ ম্যানেজার ব্যবহার করুন।
আপনার Apple প্রোজেক্টে Firebase SDK যোগ করার বিভিন্ন উপায় সম্পর্কে জানতে- Xcode-এ, আপনার অ্যাপ প্রোজেক্ট খোলা রেখে, ফাইল > প্যাকেজ যোগ করুন বিকল্পে নেভিগেট করুন।
- প্রম্পট করা হলে, Firebase Apple প্ল্যাটফর্ম SDK রিপোজিটরি যোগ করুন:
- Firebase Authentication লাইব্রেরি বেছে নিন।
- আপনার টার্গেটের বিল্ড সেটিংসের অন্যান্য লিঙ্কার ফ্ল্যাগ বিভাগে
-ObjCফ্ল্যাগ যোগ করুন। - হয়ে গেলে, Xcode অটোমেটিক ব্যাকগ্রাউন্ডে আপনার ডিপেন্ডেন্সি সমাধান ও ডাউনলোড করা শুরু করবে।
https://github.com/firebase/firebase-ios-sdk.git
- আপনি এখনও Firebase প্রোজেক্টের সাথে অ্যাপ কানেক্ট না করে থাকলে, Firebase কনসোল থেকে তা করুন।
-
পরিচয় গোপন রেখে যাচাইকরণ চালু করুন:
- Firebase কনসোলে, নিরাপত্তা > যাচাইকরণ বিকল্পে যান।
- সাইন-ইন পদ্ধতি ট্যাবে, বেনামী সাইন-ইন প্রদানকারী চালু করুন।
- ঐচ্ছিক: আপনি যদি নিজের প্রোজেক্ট Firebase Authentication with Identity Platform-এ আপগ্রেড করে থাকেন, তাহলে আপনি অটোমেটিক ক্লিন-আপ চালু করতে পারবেন। আপনি এই সেটিং চালু করলে, ৩০ দিনের বেশি পুরনো বেনামী অ্যাকাউন্ট অটোমেটিক মুছে যাবে। যেসব প্রোজেক্টে অটোমেটিক ক্লিন-আপ চালু করা আছে, সেগুলিতে ব্যবহারের সীমা বা বিলিং কোটার ক্ষেত্রে বেনামী যাচাইকরণ আর গণনা করা হবে না। অটোমেটিক ক্লিন-আপ দেখুন।
Firebase-এর মাধ্যমে পরিচয় গোপন রেখে যাচাইকরণ করুন
সাইন-আউট করা কোনও ব্যবহারকারী যদি অ্যাপের এমন কোনও ফিচার ব্যবহার করেন যার জন্য Firebase-এর মাধ্যমে যাচাইকরণ প্রয়োজন, তাহলে নিম্নলিখিত ধাপগুলি সম্পূর্ণ করে ব্যবহারকারীকে পরিচয় গোপন রেখে সাইন-ইন করান:
- আপনার
UIApplicationDelegate-এFirebaseCoreমডিউল ইমপোর্ট করুন, সেইসাথে আপনার অ্যাপ ডেলিগেট ব্যবহার করে এমন অন্য যেকোনও Firebase মডিউল ইমপোর্ট করুন। যেমন, Cloud Firestore এবং Authentication ব্যবহার করতে:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- আপনার অ্যাপ ডেলিগেটের
application(_:didFinishLaunchingWithOptions:)পদ্ধতিতেFirebaseAppশেয়ার করা ইনস্ট্যান্স কনফিগার করুন:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- আপনি SwiftUI ব্যবহার করলে, আপনাকে অবশ্যই একটি অ্যাপ্লিকেশন ডেলিগেট তৈরি করতে হবে এবং এটি
আপনার
Appস্ট্রাকচারেUIApplicationDelegateAdaptorবাNSApplicationDelegateAdaptor-এর মাধ্যমে অ্যাটাচ করতে হবে। এছাড়াও, আপনাকে অ্যাপ ডেলিগেট সুইজলিং বন্ধ করতে হবে। আরও তথ্যের জন্য, SwiftUI নির্দেশাবলী দেখুন।SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
signInAnonymouslyWithCompletion:মেথড কল করুন:Swift
Auth.auth().signInAnonymously { authResult, error in // ... }
Objective-C
[[FIRAuth auth] signInAnonymouslyWithCompletion:^(FIRAuthDataResult * _Nullable authResult, NSError * _Nullable error) { // ... }];
signInAnonymouslyWithCompletion:পদ্ধতি কোনও সমস্যা ছাড়াই সম্পূর্ণ হলে, আপনিFIRAuthDataResultঅবজেক্ট থেকে পরিচয় গোপন রাখা ব্যবহারকারীর অ্যাকাউন্ট ডেটা পেতে পারেন:Swift
guard let user = authResult?.user else { return } let isAnonymous = user.isAnonymous // true let uid = user.uid
Objective-C
FIRUser *user = authResult.user; BOOL isAnonymous = user.anonymous; // YES NSString *uid = user.uid;
কোনও বেনামী অ্যাকাউন্টকে স্থায়ী অ্যাকাউন্টে পরিবর্তন করা
কোনও অজ্ঞাতপরিচয় ব্যবহারকারী আপনার অ্যাপে সাইন-আপ করলে, আপনি হয়ত তাকে নতুন অ্যাকাউন্ট দিয়ে কাজ চালিয়ে যাওয়ার অনুমতি দিতে চাইবেন—যেমন, সাইন-আপ করার আগে ব্যবহারকারী তার শপিং কার্টে যেসব আইটেম যোগ করেছিলেন, সেগুলি আপনি হয়ত তার নতুন অ্যাকাউন্টের শপিং কার্টে উপলভ্য করতে চাইবেন। এটি করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:
- ব্যবহারকারী সাইন-আপ করলে, ব্যবহারকারীর পরিচয় যাচাইকরণ পরিষেবা প্রদানকারীর জন্য
সাইন-ইন ফ্লো সম্পূর্ণ করুন, তবে এর মধ্যে
FIRAuth.signInWithপদ্ধতির কোনও একটিকে কল করা অন্তর্ভুক্ত নয়। যেমন, ব্যবহারকারীর Google ID টোকেন, Facebook অ্যাক্সেস টোকেন বা ইমেল আইডি ও পাসওয়ার্ড পাওয়া। নতুন যাচাইকরণ প্রদানকারীর জন্য
FIRAuthCredentialপান:Google সাইন-ইন
Swift
guard let authentication = user?.authentication, let idToken = authentication.idToken else { return } let credential = GoogleAuthProvider.credential(withIDToken: idToken, accessToken: authentication.accessToken)
Objective-C
FIRAuthCredential *credential = [FIRGoogleAuthProvider credentialWithIDToken:result.user.idToken.tokenString accessToken:result.user.accessToken.tokenString];
Facebook লগ-ইন
Swift
let credential = FacebookAuthProvider .credential(withAccessToken: AccessToken.current!.tokenString)
Objective-C
FIRAuthCredential *credential = [FIRFacebookAuthProvider credentialWithAccessToken:[FBSDKAccessToken currentAccessToken].tokenString];
ইমেল-পাসওয়ার্ড সাইন-ইন
Swift
let credential = EmailAuthProvider.credential(withEmail: email, password: password)
Objective-C
FIRAuthCredential *credential = [FIREmailAuthProvider credentialWithEmail:email password:password];
সাইন-ইন করা ব্যবহারকারীর
linkWithCredential:completion:পদ্ধতিতেFIRAuthCredentialঅবজেক্ট পাস করুন:Swift
user.link(with: credential) { authResult, error in // ... } }
Objective-C
[[FIRAuth auth].currentUser linkWithCredential:credential completion:^(FIRAuthDataResult *result, NSError *_Nullable error) { // ... }];
linkWithCredential:completion:-এ কল করা সফল হলে, ব্যবহারকারীর নতুন অ্যাকাউন্ট
বেনামী অ্যাকাউন্টের Firebase ডেটা অ্যাক্সেস করতে পারবে।
অটোমেটিক ক্লিন-আপ
আপনি যদি নিজের প্রোজেক্ট Firebase Authentication with Identity Platform-এ আপগ্রেড করে থাকেন, তাহলে Firebase কনসোলে অটোমেটিক ক্লিন-আপ চালু করতে পারবেন। এই ফিচার চালু করলে, আপনি Firebase-কে ৩০ দিনের বেশি পুরনো বেনামী অ্যাকাউন্ট অটোমেটিক মুছে ফেলার অনুমতি দেন। অটোমেটিক ক্লিন-আপ চালু থাকা প্রোজেক্টে, পরিচয় গোপন রেখে যাচাইকরণ করা হলে তা ব্যবহারের সীমা বা বিলিং কোটায় গণনা করা হবে না।
- অটোমেটিক ক্লিন-আপ চালু করার পরে তৈরি করা যেকোনও বেনামী অ্যাকাউন্ট, তৈরি করার ৩০ দিন পরে যেকোনও সময় অটোমেটিক মুছে ফেলা হতে পারে।
- অটোমেটিক ক্লিন-আপ চালু করার ৩০ দিন পরে, আগে থেকে থাকা বেনামী অ্যাকাউন্টগুলি অটোমেটিক মুছে ফেলার জন্য উপযুক্ত হবে।
- আপনি অটোমেটিক ক্লিন-আপ বন্ধ করে দিলে, মুছে ফেলার জন্য শিডিউল করা যেকোনও বেনামী অ্যাকাউন্ট মুছে ফেলার জন্য শিডিউল করা থাকবে।
- আপনি যদি কোনও বেনামী অ্যাকাউন্টকে কোনও সাইন-ইন পদ্ধতির সাথে লিঙ্ক করে "আপগ্রেড" করেন, তাহলে অ্যাকাউন্টটি অটোমেটিক মুছে যাবে না।
এই ফিচার চালু করার আগে কতজন ব্যবহারকারী প্রভাবিত হবেন তা দেখতে চাইলে এবং আপনার প্রোজেক্ট Firebase Authentication with Identity Platform-এ আপগ্রেড করে থাকলে, আপনি Cloud
Logging-এ is_anon-এর মাধ্যমে ফিল্টার করতে পারবেন।
পরবর্তী ধাপ
এখন ব্যবহারকারীরা Firebase-এর মাধ্যমে যাচাই করতে পারবেন, আপনি Firebase নিয়ম ব্যবহার করে আপনার Firebase ডেটাবেসে তাদের ডেটা অ্যাক্সেস নিয়ন্ত্রণ করতে পারবেন।