Apple প্ল্যাটফর্মগুলিতে Firebase প্রমাণীকরণের সাথে শুরু করুন৷

আপনি Firebase Authentication ব্যবহার করতে পারেন ব্যবহারকারীদের আপনার অ্যাপে সাইন ইন করার জন্য এক বা একাধিক সাইন-ইন পদ্ধতি ব্যবহার করে, যার মধ্যে রয়েছে ইমেল ঠিকানা এবং পাসওয়ার্ড সাইন-ইন এবং ফেডারেটেড পরিচয় প্রদানকারী যেমন Google সাইন-ইন এবং Facebook লগইন। কিভাবে আপনার অ্যাপে ইমেল ঠিকানা এবং পাসওয়ার্ড সাইন-ইন করতে হয় তা দেখিয়ে এই টিউটোরিয়াল আপনাকে Firebase Authentication সাথে শুরু করে।

আপনার অ্যাপটিকে Firebase-এ সংযুক্ত করুন

  1. Firebase SDK ইনস্টল করুন
  2. Firebase কনসোলে , আপনার Firebase প্রকল্পে আপনার অ্যাপ যোগ করুন।

আপনার অ্যাপে Firebase Authentication যোগ করুন

ফায়ারবেস নির্ভরতা ইনস্টল এবং পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।

  1. Xcode-এ, আপনার অ্যাপ প্রকল্প খোলার সাথে, ফাইল > প্যাকেজ যোগ করুন- এ নেভিগেট করুন।
  2. অনুরোধ করা হলে, Firebase Apple প্ল্যাটফর্ম SDK সংগ্রহস্থল যোগ করুন:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Firebase Authentication লাইব্রেরি বেছে নিন।
  5. আপনার লক্ষ্যের বিল্ড সেটিংসের অন্যান্য লিঙ্কার ফ্ল্যাগ বিভাগে -ObjC পতাকা যোগ করুন।
  6. শেষ হয়ে গেলে, Xcode স্বয়ংক্রিয়ভাবে পটভূমিতে আপনার নির্ভরতাগুলি সমাধান এবং ডাউনলোড করা শুরু করবে।

(ঐচ্ছিক) Firebase Local Emulator Suite সাথে প্রোটোটাইপ এবং পরীক্ষা করুন

আপনার অ্যাপ কীভাবে ব্যবহারকারীদের প্রমাণীকরণ করে সে সম্পর্কে কথা বলার আগে, আসুন Authentication কার্যকারিতা প্রোটোটাইপ এবং পরীক্ষা করার জন্য আপনি ব্যবহার করতে পারেন এমন সরঞ্জামগুলির একটি সেট উপস্থাপন করা যাক: Firebase Local Emulator Suite । আপনি যদি প্রমাণীকরণ কৌশল এবং প্রদানকারীদের মধ্যে সিদ্ধান্ত নিচ্ছেন, Authentication এবং Firebase Security Rules ব্যবহার করে পাবলিক এবং প্রাইভেট ডেটা সহ বিভিন্ন ডেটা মডেল চেষ্টা করে দেখুন, বা সাইন-ইন UI ডিজাইনের প্রোটোটাইপ করে, লাইভ পরিষেবাগুলি স্থাপন না করে স্থানীয়ভাবে কাজ করতে সক্ষম হওয়া একটি দুর্দান্ত ধারণা হতে পারে। .

একটি Authentication এমুলেটর হল Local Emulator Suite অংশ, যা আপনার অ্যাপকে অনুকরণ করা ডাটাবেস সামগ্রী এবং কনফিগারেশনের সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে, সেইসাথে ঐচ্ছিকভাবে আপনার অনুকরণ করা প্রকল্প সংস্থানগুলি (ফাংশন, অন্যান্য ডাটাবেস এবং নিরাপত্তা নিয়ম)।

Authentication এমুলেটর ব্যবহার করা মাত্র কয়েকটি ধাপ জড়িত:

  1. এমুলেটরের সাথে সংযোগ করতে আপনার অ্যাপের পরীক্ষা কনফিগারে কোডের একটি লাইন যোগ করা হচ্ছে।
  2. আপনার স্থানীয় প্রজেক্ট ডিরেক্টরির রুট থেকে, firebase emulators:start
  3. ইন্টারেক্টিভ প্রোটোটাইপিংয়ের জন্য Local Emulator Suite UI ব্যবহার করা, অথবা অ-ইন্টারেক্টিভ পরীক্ষার জন্য Authentication এমুলেটর REST API ব্যবহার করা।

একটি বিস্তারিত নির্দেশিকা Connect your app to the Authentication emulator- এ উপলব্ধ। আরও তথ্যের জন্য, Local Emulator Suite ভূমিকা দেখুন।

এখন চলুন কিভাবে ব্যবহারকারীদের প্রমাণীকরণ করা যায়।

Firebase SDK আরম্ভ করুন

আপনার অ্যাপ প্রতিনিধিতে, প্রথমে Firebase SDK আমদানি করুন:

সুইফট

import FirebaseCore

উদ্দেশ্য-C

@import FirebaseCore;

তারপর, application:didFinishLaunchingWithOptions: পদ্ধতিতে, FirebaseApp অবজেক্টটি শুরু করুন:

সুইফট

// Use Firebase library to configure APIs
FirebaseApp.configure()

উদ্দেশ্য-C

// Use Firebase library to configure APIs
[FIRApp configure];

প্রমাণীকরণ অবস্থার জন্য শুনুন

সাইন-ইন করা ব্যবহারকারী সম্পর্কে তথ্যের প্রয়োজন এমন প্রতিটি অ্যাপের ভিউয়ের জন্য, FIRAuth অবজেক্টে একজন শ্রোতা সংযুক্ত করুন। যখনই ব্যবহারকারীর সাইন-ইন অবস্থা পরিবর্তিত হয় তখন এই শ্রোতাকে কল করা হয়।

ভিউ কন্ট্রোলারের viewWillAppear পদ্ধতিতে শ্রোতাকে সংযুক্ত করুন:

সুইফট

handle = Auth.auth().addStateDidChangeListener { auth, user in
  // ...
}

উদ্দেশ্য-C

self.handle = [[FIRAuth auth]
    addAuthStateDidChangeListener:^(FIRAuth *_Nonnull auth, FIRUser *_Nullable user) {
      // ...
    }];

এবং ভিউ কন্ট্রোলারের viewWillDisappear পদ্ধতিতে শ্রোতাকে বিচ্ছিন্ন করুন:

সুইফট

Auth.auth().removeStateDidChangeListener(handle!)

উদ্দেশ্য-C

[[FIRAuth auth] removeAuthStateDidChangeListener:_handle];

নতুন ব্যবহারকারীদের সাইন আপ করুন

একটি ফর্ম তৈরি করুন যা নতুন ব্যবহারকারীদের তাদের ইমেল ঠিকানা এবং একটি পাসওয়ার্ড ব্যবহার করে আপনার অ্যাপে নিবন্ধন করতে দেয়৷ যখন একজন ব্যবহারকারী ফর্মটি পূরণ করেন, তখন ব্যবহারকারীর দেওয়া ইমেল ঠিকানা এবং পাসওয়ার্ড যাচাই করুন, তারপর createUser পদ্ধতিতে তাদের পাস করুন:

সুইফট

Auth.auth().createUser(withEmail: email, password: password) { authResult, error in
  // ...
}

উদ্দেশ্য-C

[[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 }
  // ...
}

উদ্দেশ্য-C

[[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 += " "
  }
  // ...
}

উদ্দেশ্য-C

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;
  // ...
}

পরবর্তী পদক্ষেপ

অন্যান্য পরিচয় প্রদানকারী এবং বেনামী অতিথি অ্যাকাউন্টগুলির জন্য কীভাবে সমর্থন যোগ করবেন তা জানুন: