আপনি ইমেল ঠিকানা এবং পাসওয়ার্ড সাইন-ইন এবং গুগল সাইন-ইন এবং ফেসবুক লগইনের মতো ফেডারেটেড পরিচয় সরবরাহকারী সহ এক বা একাধিক সাইন-ইন পদ্ধতি ব্যবহার করে ব্যবহারকারীদের আপনার অ্যাপ্লিকেশনটিতে সাইন ইন করার অনুমতি দিতে আপনি ফায়ারবেস প্রমাণীকরণ ব্যবহার করতে পারেন। এই টিউটোরিয়ালটি আপনার অ্যাপটিতে ইমেল ঠিকানা এবং পাসওয়ার্ড সাইন ইন কীভাবে যুক্ত করবেন তা দেখিয়ে আপনি ফায়ারবেস প্রমাণীকরণ দিয়ে শুরু করেছিলেন started
আপনার অ্যাপ্লিকেশনটিকে ফায়ারবেসে সংযুক্ত করুন
- ফায়ারবেস এসডিকে ইনস্টল করুন ।
- ফায়ারবেস কনসোলে আপনার ফায়ারবেস প্রকল্পে আপনার অ্যাপ যুক্ত করুন add
আপনার অ্যাপ্লিকেশনটিতে ফায়ারবেস প্রমাণীকরণ যুক্ত করুন
আপনার প্রকল্পের
Podfile
প্রমাণীকরণের জন্য নির্ভরতা যুক্ত করুন:pod 'Firebase/Auth'
.xcworkspace
pod install
চালান এবং তৈরি.xcworkspace
ফাইল খুলুন।
(Ptionচ্ছিক) ফায়ারবেস লোকাল এমুলেটর স্যুট সহ প্রোটোটাইপ এবং পরীক্ষা করুন
আপনার অ্যাপ কীভাবে ব্যবহারকারীদের অনুমোদন দেয় সে সম্পর্কে কথা বলার আগে আসুন আপনি প্রোটোটাইপ এবং প্রমাণীকরণ কার্যকারিতা পরীক্ষা করতে ব্যবহার করতে পারেন এমন সরঞ্জামগুলির একটি সেট প্রবর্তন করুন: ফায়ারবেস লোকাল এমুলেটর স্যুট। যদি আপনি প্রমাণীকরণ কৌশল এবং সরবরাহকারীদের মধ্যে সিদ্ধান্ত নিচ্ছেন, প্রমাণীকরণ এবং ফায়ারবেস সুরক্ষা বিধিগুলি ব্যবহার করে অথবা সরকারী ইন সাইন-ইন ইউআই ডিজাইন ব্যবহার করে জনসাধারণ এবং ব্যক্তিগত ডেটা সহ বিভিন্ন ডেটা মডেলগুলি চেষ্টা করে দেখা, সরাসরি পরিষেবাদি স্থাপন না করে স্থানীয়ভাবে কাজ করতে সক্ষম হওয়া দুর্দান্ত ধারণা হতে পারে ।
একটি প্রমাণীকরণ এমুলেটর লোকাল এমুলেটর স্যুটের অংশ, যা আপনার অ্যাপ্লিকেশনটিকে এমুলেটেড ডাটাবেস সামগ্রী এবং কনফিগারেশনের পাশাপাশি optionচ্ছিকভাবে আপনার এমুলেটেড প্রকল্পের সংস্থানগুলি (ফাংশন, অন্যান্য ডাটাবেস এবং সুরক্ষা বিধি) সক্ষম করে। মনে রাখবেন যে স্থানীয় এমুলেটর স্যুট এখনও এমুলেটেড ক্লাউড স্টোরেজ সমর্থন করে না।
প্রমাণীকরণ এমুলেটর ব্যবহার করা মাত্র কয়েকটি পদক্ষেপ জড়িত:
- এমুলেটরটির সাথে সংযোগ রাখতে আপনার অ্যাপ্লিকেশনটির পরীক্ষা কনফিগারেশনে কোডের একটি লাইন যুক্ত করা।
- আপনার স্থানীয় প্রকল্প ডিরেক্টরিটির মূল থেকে,
firebase emulators:start
চালানোfirebase emulators:start
। - ইন্টারেক্টিভ প্রোটোটাইপিংয়ের জন্য স্থানীয় এমুলেটর স্যুইট ইউআই বা অ-ইন্টারেক্টিভ পরীক্ষার জন্য প্রমাণীকরণ এমুলেটর REST এপিআই ব্যবহার করে।
প্রমাণীকরণ এমুলেটরের সাথে আপনার অ্যাপ্লিকেশনটি সংযুক্ত করতে একটি বিস্তারিত গাইড পাওয়া যায়। আরও তথ্যের জন্য, স্থানীয় এমুলেটর স্যুট পরিচিতি দেখুন ।
এখন আসুন কীভাবে ব্যবহারকারীদের প্রমাণীকরণ করবেন তা চালিয়ে নেওয়া যাক।
ফায়ারবেস এসডিকে শুরু করুন
আপনার অ্যাপের প্রতিনিধিতে প্রথমে ফায়ারবেস এসডিকে আমদানি করুন:
সুইফট
import Firebase
উদ্দেশ্য গ
@import Firebase;
তারপর, মধ্যে application:didFinishLaunchingWithOptions:
পদ্ধতি, আরম্ভ FirebaseApp
বস্তু:
সুইফট
// Use Firebase library to configure APIs
FirebaseApp.configure()
উদ্দেশ্য গ
// Use Firebase library to configure APIs
[FIRApp configure];
প্রমাণীকরণের অবস্থা শুনুন
আপনার অ্যাপ্লিকেশানের প্রতিটি দৃশ্যের জন্য যা সাইন-ইন করা ব্যবহারকারী সম্পর্কে তথ্য প্রয়োজন, শ্রোতার সাথে সংযুক্ত করুন FIRAuth
অবজেক্টে। এই শ্রোতা যখনই ব্যবহারকারীর সাইন ইন অবস্থায় পরিবর্তন হয় তখনই ডেকে আনা হয়।
শ্রোতার সাথে ভিউ কন্ট্রোলারের viewWillAppear
পদ্ধতিতে সংযুক্ত করুন:
সুইফট
handle = Auth.auth().addStateDidChangeListener { (auth, user) in
// ...
}
উদ্দেশ্য গ
self.handle = [[FIRAuth auth]
addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, FIRUser *_Nullable user) {
// ...
}];
এবং শ্রোতাকে ভিউ কন্ট্রোলারের viewWillDisappear
পদ্ধতিতে আলাদা করুন:
সুইফট
Auth.auth().removeStateDidChangeListener(handle!)
উদ্দেশ্য গ
[[FIRAuth auth] removeAuthStateDidChangeListener:_handle];
নতুন ব্যবহারকারীদের সাইন আপ করুন
এমন একটি ফর্ম তৈরি করুন যা নতুন ব্যবহারকারীদের তাদের ইমেল ঠিকানা এবং পাসওয়ার্ড ব্যবহার করে আপনার অ্যাপ্লিকেশনটির সাথে নিবন্ধভুক্ত করতে দেয়। যখন কোনও ব্যবহারকারী ফর্মটি পূরণ করেন, ব্যবহারকারী দ্বারা সরবরাহ করা ইমেল ঠিকানা এবং পাসওয়ার্ডটি বৈধ করুন, তারপরে createUser
ব্যবহারকারী পদ্ধতিতে পাস করুন:
সুইফট
Auth.auth().createUser(withEmail: email, password: password) { authResult, error in
// ...
}
উদ্দেশ্য গ
[[FIRAuth auth] createUserWithEmail:email
password:password
completion:^(FIRAuthDataResult * _Nullable authResult,
NSError * _Nullable error) {
// ...
}];
বিদ্যমান ব্যবহারকারীদের সাইন ইন করুন
এমন একটি ফর্ম তৈরি করুন যা বিদ্যমান ব্যবহারকারীদের তাদের ইমেল ঠিকানা এবং পাসওয়ার্ড ব্যবহার করে সাইন ইন করতে দেয়। যখন কোনও ব্যবহারকারী ফর্মটি পূরণ করেন, signIn
পদ্ধতিতে কল করুন:
সুইফট
Auth.auth().signIn(withEmail: email, password: password) { [weak self] authResult, error in
guard let strongSelf = self else { return }
// ...
}
উদ্দেশ্য গ
[[FIRAuth auth] signInWithEmail:self->_emailField.text
password:self->_passwordField.text
completion:^(FIRAuthDataResult * _Nullable authResult,
NSError * _Nullable error) {
// ...
}];
ব্যবহারকারীর তথ্য পান
কোনও ব্যবহারকারী সফলভাবে সাইন ইন করার পরে আপনি ব্যবহারকারীর সম্পর্কে তথ্য পেতে পারেন। উদাহরণস্বরূপ, আপনার প্রমাণীকরণের রাজ্যের শ্রোতার মধ্যে :
সুইফট
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 += " "
}
// ...
}
উদ্দেশ্য গ
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;
// ...
}
পরবর্তী পদক্ষেপ
অন্যান্য পরিচয় সরবরাহকারী এবং বেনামে অতিথি অ্যাকাউন্টগুলির জন্য কীভাবে সমর্থন যুক্ত করবেন তা শিখুন: