Apple প্ল্যাটফর্মে বেনামে Firebase দিয়ে প্রমাণীকরণ করুন

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

আপনি শুরু করার আগে

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

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

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

যখন একজন সাইন-আউট হওয়া ব্যবহারকারী একটি অ্যাপ বৈশিষ্ট্য ব্যবহার করেন যার জন্য Firebase-এর সাথে প্রমাণীকরণের প্রয়োজন হয়, তখন নিম্নলিখিত ধাপগুলি সম্পূর্ণ করে বেনামে ব্যবহারকারীকে সাইন ইন করুন:

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

    সুইফটইউআই

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    সুইফট

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    উদ্দেশ্য-C

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

    সুইফটইউআই

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

    সুইফট

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

    উদ্দেশ্য-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. আপনি যদি SwiftUI ব্যবহার করেন, তাহলে আপনাকে অবশ্যই একটি অ্যাপ্লিকেশন ডেলিগেট তৈরি করতে হবে এবং UIApplicationDelegateAdaptor বা NSApplicationDelegateAdaptor এর মাধ্যমে আপনার App স্ট্রাকটে এটি সংযুক্ত করতে হবে। আপনাকে অবশ্যই অ্যাপ ডেলিগেট সুইজলিং অক্ষম করতে হবে। আরও তথ্যের জন্য, SwiftUI নির্দেশাবলী দেখুন।

    সুইফটইউআই

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. signInAnonymouslyWithCompletion: পদ্ধতিতে কল করুন:

    সুইফট

    Auth.auth().signInAnonymously { authResult, error in
      // ...
    }

    উদ্দেশ্য-C

    [[FIRAuth auth] signInAnonymouslyWithCompletion:^(FIRAuthDataResult * _Nullable authResult,
                                                      NSError * _Nullable error) {
       // ...
     }];
  5. যদি signInAnonymouslyWithCompletion: পদ্ধতিটি ত্রুটি ছাড়াই সম্পূর্ণ হয়, আপনি FIRAuthDataResult অবজেক্ট থেকে বেনামী ব্যবহারকারীর অ্যাকাউন্ট ডেটা পেতে পারেন:

    সুইফট

    guard let user = authResult?.user else { return }
    let isAnonymous = user.isAnonymous  // true
    let uid = user.uid

    উদ্দেশ্য-C

    FIRUser *user = authResult.user;
    BOOL isAnonymous = user.anonymous;  // YES
    NSString *uid = user.uid;

একটি বেনামী অ্যাকাউন্ট একটি স্থায়ী অ্যাকাউন্টে রূপান্তর করুন

যখন একজন বেনামী ব্যবহারকারী আপনার অ্যাপে সাইন আপ করেন, তখন আপনি তাদের নতুন অ্যাকাউন্ট দিয়ে তাদের কাজ চালিয়ে যাওয়ার অনুমতি দিতে চাইতে পারেন—উদাহরণস্বরূপ, ব্যবহারকারীরা তাদের নতুন অ্যাকাউন্টে সাইন আপ করার আগে তাদের শপিং কার্টে যোগ করা আইটেমগুলি আপনি করতে চাইতে পারেন। অ্যাকাউন্টের শপিং কার্ট। এটি করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. ব্যবহারকারী সাইন আপ করলে, ব্যবহারকারীর প্রমাণীকরণ প্রদানকারীর জন্য সাইন-ইন ফ্লো সম্পূর্ণ করুন, কিন্তু অন্তর্ভুক্ত নয়, FIRAuth.signInWith পদ্ধতিগুলির একটিতে কল করা। উদাহরণস্বরূপ, ব্যবহারকারীর গুগল আইডি টোকেন, ফেসবুক অ্যাক্সেস টোকেন বা ইমেল ঠিকানা এবং পাসওয়ার্ড পান।
  2. নতুন প্রমাণীকরণ প্রদানকারীর জন্য একটি FIRAuthCredential পান:

    Google সাইন-ইন
    সুইফট
    guard
      let authentication = user?.authentication,
      let idToken = authentication.idToken
    else {
      return
    }
    
    let credential = GoogleAuthProvider.credential(withIDToken: idToken,
                                                   accessToken: authentication.accessToken)
    উদ্দেশ্য-C
    FIRAuthCredential *credential =
    [FIRGoogleAuthProvider credentialWithIDToken:result.user.idToken.tokenString
                                     accessToken:result.user.accessToken.tokenString];
    ফেসবুক লগইন
    সুইফট
    let credential = FacebookAuthProvider
      .credential(withAccessToken: AccessToken.current!.tokenString)
    উদ্দেশ্য-C
    FIRAuthCredential *credential = [FIRFacebookAuthProvider
        credentialWithAccessToken:[FBSDKAccessToken currentAccessToken].tokenString];
    ইমেল-পাসওয়ার্ড সাইন-ইন
    সুইফট
    let credential = EmailAuthProvider.credential(withEmail: email, password: password)
    উদ্দেশ্য-C
    FIRAuthCredential *credential =
        [FIREmailAuthProvider credentialWithEmail:email
                                                 password:password];
  3. সাইন-ইন ব্যবহারকারীর linkWithCredential:completion: : পদ্ধতিতে FIRAuthCredential অবজেক্টটি পাস করুন:

    সুইফট
        user.link(with: credential) { authResult, error in
      // ...
    }
    }
    উদ্দেশ্য-C
        [[FIRAuth auth].currentUser linkWithCredential:credential
        completion:^(FIRAuthDataResult *result, NSError *_Nullable error) {
      // ...
    }];

linkWithCredential:completion: কলটি সফল হলে, ব্যবহারকারীর নতুন অ্যাকাউন্ট বেনামী অ্যাকাউন্টের Firebase ডেটা অ্যাক্সেস করতে পারে।

স্বয়ংক্রিয় ক্লিন-আপ

আপনি যদি আপনার প্রোজেক্টটিকে Firebase Authentication with Identity Platform আপগ্রেড করে থাকেন, তাহলে আপনি Firebase কনসোলে স্বয়ংক্রিয় ক্লিন-আপ সক্ষম করতে পারেন। আপনি যখন এই বৈশিষ্ট্যটি সক্ষম করবেন তখন আপনি Firebaseকে 30 দিনের বেশি পুরানো বেনামী অ্যাকাউন্টগুলি স্বয়ংক্রিয়ভাবে মুছে ফেলার অনুমতি দেবেন। স্বয়ংক্রিয় ক্লিন-আপ সক্ষম করা প্রকল্পগুলিতে, বেনামী প্রমাণীকরণ ব্যবহারের সীমা বা বিলিং কোটার জন্য গণনা করা হবে না।

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

আপনি যদি দেখতে চান যে আপনি এই বৈশিষ্ট্যটি সক্ষম করার আগে কতজন ব্যবহারকারী প্রভাবিত হবেন, এবং আপনি আপনার প্রকল্পটিকে Firebase Authentication with Identity Platform আপগ্রেড করেছেন, আপনি Cloud Logging-is_anon দ্বারা ফিল্টার করতে পারেন।

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

এখন যেহেতু ব্যবহারকারীরা Firebase দিয়ে প্রমাণীকরণ করতে পারে, আপনি Firebase নিয়মগুলি ব্যবহার করে আপনার Firebase ডাটাবেসের ডেটাতে তাদের অ্যাক্সেস নিয়ন্ত্রণ করতে পারেন।