ব্যবহারকারী তৈরি করা
নতুন ব্যবহারকারী তৈরি করার জন্য আপনার কাছে নিম্নলিখিত বিকল্প আছে:
আপনার অ্যাপ থেকে: Firebase প্রোজেক্টে
createUserমেথড কল করে অথবা Google সাইন-ইন বা Facebook লগ-ইন-এর মতো ফেডারেটেড আইডেন্টিটি প্রদানকারী ব্যবহার করে প্রথমবার কোনও ব্যবহারকারীকে সাইন-ইন করানোর মাধ্যমে নতুন ব্যবহারকারী তৈরি করুন।Firebase কনসোলে: নিরাপত্তা > যাচাইকরণ > ব্যবহারকারী ট্যাব থেকে নতুন পাসওয়ার্ড-যাচাই করা ব্যবহারকারী তৈরি করুন।
বর্তমানে সাইন-ইন করা ব্যবহারকারীকে পাওয়া
বর্তমান ব্যবহারকারীকে পাওয়ার জন্য সাজেস্ট করা পদ্ধতি হল, Auth অবজেক্টে লিসনার সেট করা:
Swift
handle = Auth.auth().addStateDidChangeListener { auth, user in // ... }
Objective-C
self.handle = [[FIRAuth auth] addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, FIRUser *_Nullable user) { // ... }];
লিসনার ব্যবহার করে, আপনি নিশ্চিত করেন যে বর্তমান ব্যবহারকারীকে পাওয়ার সময় Auth অবজেক্ট যেন কোনও মধ্যবর্তী অবস্থায়—যেমন, ইনিশিয়ালাইজেশন—না থাকে।
এছাড়াও, currentUser
প্রপার্টি ব্যবহার করে বর্তমানে সাইন-ইন করা ব্যবহারকারীকে পেতে পারেন। কোনও ব্যবহারকারী সাইন-ইন না করে থাকলে, currentUser হল শূন্য:
Swift
if Auth.auth().currentUser != nil { // User is signed in. // ... } else { // No user is signed in. // ... }
Objective-C
if ([FIRAuth auth].currentUser) { // User is signed in. // ... } else { // No user is signed in. // ... }
ব্যবহারকারীর প্রোফাইল পাওয়া
ব্যবহারকারীর প্রোফাইল সংক্রান্ত তথ্য পেতে, FIRUser-এর কোনও ইনস্ট্যান্সের প্রপার্টি ব্যবহার করুন। যেমন:
Swift
let user = Auth.auth().currentUser if let user = user { // The user's ID, unique to the Firebase project. // Do NOT use this value to authenticate with your backend server, // if you have one. Use getTokenWithCompletion:completion: instead. let uid = user.uid let email = user.email let photoURL = user.photoURL var multiFactorString = "MultiFactor: " for info in user.multiFactor.enrolledFactors { multiFactorString += info.displayName ?? "[DispayName]" multiFactorString += " " } // ... }
Objective-C
FIRUser *user = [FIRAuth auth].currentUser; if (user) { // The user's ID, unique to the Firebase project. // Do NOT use this value to authenticate with your backend server, // if you have one. Use getTokenWithCompletion:completion: instead. NSString *email = user.email; NSString *uid = user.uid; NSMutableString *multiFactorString = [NSMutableString stringWithFormat:@"MultiFactor: "]; for (FIRMultiFactorInfo *info in user.multiFactor.enrolledFactors) { [multiFactorString appendString:info.displayName]; [multiFactorString appendString:@" "]; } NSURL *photoURL = user.photoURL; // ... }
কোনও ব্যবহারকারীর প্রদানকারী-নির্দিষ্ট প্রোফাইল সংক্রান্ত তথ্য পাওয়া
কোনও
ব্যবহারকারীর সাথে লিঙ্ক করা সাইন-ইন প্রদানকারীর থেকে প্রোফাইল তথ্য পেতে, providerData প্রপার্টি ব্যবহার করুন। যেমন:
Swift
let userInfo = Auth.auth().currentUser?.providerData[indexPath.row] cell?.textLabel?.text = userInfo?.providerID // Provider-specific UID cell?.detailTextLabel?.text = userInfo?.uid
Objective-C
id<FIRUserInfo> userInfo = [FIRAuth auth].currentUser.providerData[indexPath.row]; cell.textLabel.text = [userInfo providerID]; // Provider-specific UID cell.detailTextLabel.text = [userInfo uid];
ব্যবহারকারীর প্রোফাইল আপডেট করা
আপনি UserProfileChangeRequest ক্লাস ব্যবহার করে কোনও ব্যবহারকারীর প্রাথমিক প্রোফাইল তথ্য—ব্যবহারকারীর ডিসপ্লে নাম
এবং প্রোফাইল ফটো URL—আপডেট করতে পারবেন। যেমন:
Swift
let changeRequest = Auth.auth().currentUser?.createProfileChangeRequest() changeRequest?.displayName = displayName changeRequest?.commitChanges { error in // ... }
Objective-C
FIRUserProfileChangeRequest *changeRequest = [[FIRAuth auth].currentUser profileChangeRequest]; changeRequest.displayName = userInput; [changeRequest commitChangesWithCompletion:^(NSError *_Nullable error) { // ... }];
ব্যবহারকারীর ইমেল আইডি সেট করা
আপনি updateEmail পদ্ধতির মাধ্যমে ব্যবহারকারীর ইমেল আইডি সেট করতে পারবেন।
যেমন:
Swift
Auth.auth().currentUser?.updateEmail(to: email) { error in // ... }
Objective-C
[[FIRAuth auth].currentUser updateEmail:userInput completion:^(NSError *_Nullable error) { // ... }];
ব্যবহারকারীকে যাচাইকরণ ইমেল পাঠানো
আপনি
sendEmailVerificationWithCompletion: পদ্ধতির মাধ্যমে কোনও ব্যবহারকারীকে ঠিকানা যাচাইকরণ ইমেল পাঠাতে পারেন। যেমন:
Swift
Auth.auth().currentUser?.sendEmailVerification { error in // ... }
Objective-C
[[FIRAuth auth].currentUser sendEmailVerificationWithCompletion:^(NSError *_Nullable error) { // ... }];
Firebase কনসোলের নিরাপত্তা > অনুমোদন > টেমপ্লেট ট্যাব থেকে কোন ইমেল টেমপ্লেট ব্যবহার করা হবে তা আপনি কাস্টমাইজ করতে পারবেন। Firebase সহায়তা কেন্দ্রে ইমেল টেমপ্লেট দেখুন।
এছাড়াও, যাচাইকরণ ইমেল পাঠানোর সময় চালিয়ে যাওয়ার URL-এর মাধ্যমে স্টেট পাস করা সম্ভব, যাতে অ্যাপে রিডাইরেক্ট করা যায়।
এছাড়াও, ইমেল পাঠানোর আগে Auth ইনস্ট্যান্সে ভাষা কোড আপডেট করে আপনি যাচাইকরণ ইমেলকে লোকালাইজ করতে পারেন। যেমন:
Swift
Auth.auth().languageCode = "fr" // To apply the default app language instead of explicitly setting it. // Auth.auth().useAppLanguage()
Objective-C
[FIRAuth auth].languageCode = @"fr"; // To apply the default app language instead of explicitly setting it. // [[FIRAuth auth] useAppLanguage];
ব্যবহারকারীর পাসওয়ার্ড সেট করা
আপনি updatePassword পদ্ধতির মাধ্যমে ব্যবহারকারীর পাসওয়ার্ড সেট করতে পারবেন। যেমন:
Swift
Auth.auth().currentUser?.updatePassword(to: password) { error in // ... }
Objective-C
[[FIRAuth auth].currentUser updatePassword:userInput completion:^(NSError *_Nullable error) { // ... }];
পাসওয়ার্ড রিসেট করার ইমেল পাঠানো
আপনি
sendPasswordReset পদ্ধতির মাধ্যমে কোনও ব্যবহারকারীকে পাসওয়ার্ড রিসেট করার ইমেল পাঠাতে পারবেন। যেমন:
Swift
Auth.auth().sendPasswordReset(withEmail: email) { error in // ... }
Objective-C
[[FIRAuth auth] sendPasswordResetWithEmail:userInput completion:^(NSError *_Nullable error) { // ... }];
আপনি ইমেল টেমপ্লেট পৃষ্ঠায়, Firebase কনসোলের যাচাইকরণ বিভাগে ব্যবহৃত ইমেল টেমপ্লেট কাস্টমাইজ করতে পারবেন। Firebase সহায়তা কেন্দ্রে ইমেল টেমপ্লেট দেখুন।
এছাড়াও, পাসওয়ার্ড রিসেট করার ইমেল পাঠানোর সময় চালিয়ে যাওয়ার URL-এর মাধ্যমে স্টেট পাস করা সম্ভব, যাতে অ্যাপে রিডাইরেক্ট করা যায়।
এছাড়াও, ইমেল পাঠানোর আগে Auth ইনস্ট্যান্সে ভাষা কোড আপডেট করে আপনি পাসওয়ার্ড রিসেট করার ইমেলকে লোকালাইজ করতে পারবেন। যেমন:
Swift
Auth.auth().languageCode = "fr" // To apply the default app language instead of explicitly setting it. // Auth.auth().useAppLanguage()
Objective-C
[FIRAuth auth].languageCode = @"fr"; // To apply the default app language instead of explicitly setting it. // [[FIRAuth auth] useAppLanguage];
এছাড়াও, আপনি Firebase কনসোল থেকে পাসওয়ার্ড রিসেট করার ইমেল পাঠাতে পারবেন।
ব্যবহারকারীকে মুছে দেওয়া
আপনি delete পদ্ধতি ব্যবহার করে ব্যবহারকারীর অ্যাকাউন্ট মুছে দিতে পারবেন। যেমন:
Swift
let user = Auth.auth().currentUser
user?.delete { error in
if let error = error {
// An error happened.
} else {
// Account deleted.
}
}
Objective-C
FIRUser *user = [FIRAuth auth].currentUser;
[user deleteWithCompletion:^(NSError *_Nullable error) {
if (error) {
// An error happened.
} else {
// Account deleted.
}
}];
এছাড়াও, আপনি Firebase কনসোলে গিয়ে নিরাপত্তা > অনুমোদন > ব্যবহারকারী ট্যাব থেকে ব্যবহারকারীদের মুছে দিতে পারবেন।
ব্যবহারকারীকে আবার যাচাই করা
কিছু নিরাপত্তা-সংবেদনশীল অ্যাকশন—যেমন
অ্যাকাউন্ট মুছে দেওয়া,
প্রাইমারি ইমেল আইডি সেট করা এবং
পাসওয়ার্ড পরিবর্তন করা—এর জন্য ব্যবহারকারীকে
সম্প্রতি সাইন-ইন করতে হবে। আপনি এইসব অ্যাকশনের মধ্যে কোনও একটি পারফর্ম করলে এবং ব্যবহারকারী অনেক দিন আগে সাইন-ইন করে থাকলে, FIRAuthErrorCodeCredentialTooOld
সমস্যার কারণে অ্যাকশনটি সম্পূর্ণ করা যাবে না। এটি ঘটলে, ব্যবহারকারীর থেকে নতুন সাইন-ইন
ক্রেডেনশিয়াল নিয়ে এবং reauthenticate-কে ক্রেডেনশিয়াল দিয়ে ব্যবহারকারীকে আবার যাচাই করুন। যেমন:
Swift
let user = Auth.auth().currentUser
var credential: AuthCredential
// Prompt the user to re-provide their sign-in credentials
user?.reauthenticate(with: credential) { error in
if let error = error {
// An error happened.
} else {
// User re-authenticated.
}
}
Objective-C
FIRUser *user = [FIRAuth auth].currentUser;
FIRAuthCredential *credential;
// Prompt the user to re-provide their sign-in credentials
[user reauthenticateWithCredential:credential completion:^(NSError *_Nullable error) {
if (error) {
// An error happened.
} else {
// User re-authenticated.
}
}];
ব্যবহারকারীর অ্যাকাউন্ট ইমপোর্ট করা
আপনি Firebase CLI-এর auth:import কমান্ড ব্যবহার করে কোনও ফাইল থেকে আপনার Firebase প্রোজেক্টে ব্যবহারকারীর অ্যাকাউন্ট ইমপোর্ট করতে পারবেন।
যেমন:
firebase auth:import users.json --hash-algo=scrypt --rounds=8 --mem-cost=14