Check out what’s new from Firebase at Google I/O 2022. Learn more

একটি কাস্টম প্রমাণীকরণ সিস্টেম ব্যবহার করে Apple প্ল্যাটফর্মে ফায়ারবেসের সাথে প্রমাণীকরণ করুন

কোনো ব্যবহারকারী সফলভাবে সাইন ইন করলে আপনি কাস্টম সাইনড টোকেন তৈরি করতে আপনার প্রমাণীকরণ সার্ভার পরিবর্তন করে একটি কাস্টম প্রমাণীকরণ সিস্টেমের সাথে Firebase প্রমাণীকরণকে একীভূত করতে পারেন৷ আপনার অ্যাপটি এই টোকেনটি গ্রহণ করে এবং Firebase এর সাথে প্রমাণীকরণের জন্য এটি ব্যবহার করে৷

তুমি শুরু করার আগে

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

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

এর পরে, কিছু কনফিগারেশন পদক্ষেপগুলি সম্পাদন করুন:

  1. আপনার প্রকল্পের সার্ভার কী পান:
    1. আপনার প্রকল্পের সেটিংসে পরিষেবা অ্যাকাউন্ট পৃষ্ঠাতে যান।
    2. সার্ভিস অ্যাকাউন্ট পৃষ্ঠার ফায়ারবেস অ্যাডমিন SDK বিভাগের নীচে জেনারেট নিউ প্রাইভেট কী ক্লিক করুন।
    3. নতুন পরিষেবা অ্যাকাউন্টের পাবলিক/প্রাইভেট কী জোড়া আপনার কম্পিউটারে স্বয়ংক্রিয়ভাবে সংরক্ষিত হয়। আপনার প্রমাণীকরণ সার্ভারে এই ফাইলটি অনুলিপি করুন।

Firebase দিয়ে প্রমাণীকরণ করুন

  1. আপনার UIApplicationDelegateFirebaseCore মডিউল আমদানি করুন, সেইসাথে আপনার অ্যাপ প্রতিনিধি যে কোনো Firebase মডিউল ব্যবহার করেন। উদাহরণস্বরূপ, ক্লাউড ফায়ারস্টোর এবং প্রমাণীকরণ ব্যবহার করতে:

    সুইফট

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    উদ্দেশ্য গ

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. একটি FirebaseApp শেয়ার করা উদাহরণ কনফিগার করুন, সাধারণত আপনার অ্যাপের application:didFinishLaunchingWithOptions: পদ্ধতি:

    সুইফট

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

    উদ্দেশ্য গ

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. যখন ব্যবহারকারীরা আপনার অ্যাপে সাইন ইন করে, তাদের সাইন-ইন শংসাপত্র (উদাহরণস্বরূপ, তাদের ব্যবহারকারীর নাম এবং পাসওয়ার্ড) আপনার প্রমাণীকরণ সার্ভারে পাঠান। আপনার সার্ভার শংসাপত্রগুলি পরীক্ষা করে এবং একটি কাস্টম টোকেন প্রদান করে যদি সেগুলি বৈধ হয়৷
  4. আপনি আপনার প্রমাণীকরণ সার্ভার থেকে কাস্টম টোকেন পাওয়ার পরে, ব্যবহারকারীকে সাইন ইন করতে signInWithCustomToken এ পাস করুন:

    সুইফট

    Auth.auth().signIn(withCustomToken: customToken ?? "") { user, error in
      // ...
    }

    উদ্দেশ্য গ

    [[FIRAuth auth] signInWithCustomToken:customToken
                               completion:^(FIRAuthDataResult * _Nullable authResult,
                                            NSError * _Nullable error) {
      // ...
    }];

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

একজন ব্যবহারকারী প্রথমবার সাইন ইন করার পরে, একটি নতুন ব্যবহারকারীর অ্যাকাউন্ট তৈরি করা হয় এবং শংসাপত্রগুলির সাথে লিঙ্ক করা হয়—অর্থাৎ, ব্যবহারকারীর নাম এবং পাসওয়ার্ড, ফোন নম্বর, বা প্রমাণ প্রদানকারীর তথ্য — ব্যবহারকারী সাইন ইন করেছেন। এই নতুন অ্যাকাউন্টটি আপনার ফায়ারবেস প্রকল্পের অংশ হিসাবে সংরক্ষণ করা হয়েছে, এবং ব্যবহারকারী কীভাবে সাইন ইন করুন না কেন, আপনার প্রকল্পের প্রতিটি অ্যাপ জুড়ে একজন ব্যবহারকারীকে সনাক্ত করতে ব্যবহার করা যেতে পারে।

  • আপনার অ্যাপে, আপনি FIRUser অবজেক্ট থেকে ব্যবহারকারীর মৌলিক প্রোফাইল তথ্য পেতে পারেন। ব্যবহারকারীদের পরিচালনা দেখুন।

  • আপনার ফায়ারবেস রিয়েলটাইম ডেটাবেস এবং ক্লাউড স্টোরেজ নিরাপত্তা নিয়মে , আপনি auth ভেরিয়েবল থেকে সাইন-ইন করা ব্যবহারকারীর অনন্য ব্যবহারকারী আইডি পেতে পারেন এবং ব্যবহারকারী কোন ডেটা অ্যাক্সেস করতে পারে তা নিয়ন্ত্রণ করতে এটি ব্যবহার করতে পারেন।

আপনি একটি বিদ্যমান ব্যবহারকারীর অ্যাকাউন্টে প্রমাণীকরণ প্রদানকারীর শংসাপত্র লিঙ্ক করে একাধিক প্রমাণীকরণ প্রদানকারী ব্যবহার করে ব্যবহারকারীদের আপনার অ্যাপে সাইন ইন করার অনুমতি দিতে পারেন।

একজন ব্যবহারকারীকে সাইন আউট করতে, signOut:

সুইফট

    let firebaseAuth = Auth.auth()
do {
  try firebaseAuth.signOut()
} catch let signOutError as NSError {
  print("Error signing out: %@", signOutError)
}
  

উদ্দেশ্য গ

    NSError *signOutError;
BOOL status = [[FIRAuth auth] signOut:&signOutError];
if (!status) {
  NSLog(@"Error signing out: %@", signOutError);
  return;
}

আপনি প্রমাণীকরণ ত্রুটির সম্পূর্ণ পরিসরের জন্য ত্রুটি হ্যান্ডলিং কোড যোগ করতে চাইতে পারেন। হ্যান্ডেল ত্রুটি দেখুন.