ইউনিটি ব্যবহার করে পাসওয়ার্ড-ভিত্তিক অ্যাকাউন্ট ব্যবহার করে ফায়ারবেসের সাথে প্রমাণীকরণ করুন

আপনার ব্যবহারকারীদের তাদের ইমেল ঠিকানা এবং পাসওয়ার্ড ব্যবহার করে Firebase এর সাথে প্রমাণীকরণ করতে এবং আপনার অ্যাপের পাসওয়ার্ড-ভিত্তিক অ্যাকাউন্টগুলি পরিচালনা করতে আপনি Firebase প্রমাণীকরণ ব্যবহার করতে পারেন।

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

আপনি Firebase প্রমাণীকরণ ব্যবহার করার আগে, আপনাকে করতে হবে:

  • আপনার ইউনিটি প্রজেক্ট নিবন্ধন করুন এবং Firebase ব্যবহার করতে কনফিগার করুন।

    • আপনার ইউনিটি প্রোজেক্ট যদি আগে থেকেই Firebase ব্যবহার করে, তাহলে এটি ইতিমধ্যেই Firebase-এর জন্য নিবন্ধিত এবং কনফিগার করা আছে।

    • আপনার যদি ইউনিটি প্রজেক্ট না থাকে, আপনি একটি নমুনা অ্যাপ ডাউনলোড করতে পারেন।

  • আপনার ইউনিটি প্রোজেক্টে Firebase ইউনিটি SDK (বিশেষ করে, FirebaseAuth.unitypackage ) যোগ করুন।

মনে রাখবেন যে আপনার ইউনিটি প্রোজেক্টে ফায়ারবেস যোগ করার জন্য ফায়ারবেস কনসোল এবং আপনার ওপেন ইউনিটি প্রোজেক্ট উভয়েরই কাজ জড়িত থাকে (উদাহরণস্বরূপ, আপনি কনসোল থেকে Firebase কনফিগার ফাইলগুলি ডাউনলোড করেন, তারপর সেগুলিকে আপনার ইউনিটি প্রোজেক্টে নিয়ে যান)।

Firebase.Auth.FirebaseAuth ক্লাস অ্যাক্সেস করুন

FirebaseAuth ক্লাস হল সমস্ত API কলের গেটওয়ে। এটি FirebaseAuth.DefaultInstance এর মাধ্যমে অ্যাক্সেসযোগ্য।
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

একটি পাসওয়ার্ড-ভিত্তিক অ্যাকাউন্ট তৈরি করুন

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

  1. যখন একজন নতুন ব্যবহারকারী আপনার অ্যাপের সাইন-আপ ফর্ম ব্যবহার করে সাইন আপ করেন, তখন আপনার অ্যাপের প্রয়োজনীয় যেকোন নতুন অ্যাকাউন্ট যাচাইকরণের ধাপগুলি সম্পূর্ণ করুন, যেমন নতুন অ্যাকাউন্টের পাসওয়ার্ড সঠিকভাবে টাইপ করা হয়েছে কিনা এবং আপনার জটিলতার প্রয়োজনীয়তা পূরণ করে তা যাচাই করা।
  2. FirebaseAuth.CreateUserWithEmailAndPassword :
    auth.CreateUserWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("CreateUserWithEmailAndPasswordAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("CreateUserWithEmailAndPasswordAsync encountered an error: " + task.Exception);
        return;
      }
    
      // Firebase user has been created.
      Firebase.Auth.AuthResult result = task.Result;
      Debug.LogFormat("Firebase user created successfully: {0} ({1})",
          result.User.DisplayName, result.User.UserId);
    });
    
    এ নতুন ব্যবহারকারীর ইমেল ঠিকানা এবং পাসওয়ার্ড দিয়ে একটি নতুন অ্যাকাউন্ট তৈরি করুন

একটি ইমেল ঠিকানা এবং পাসওয়ার্ড দিয়ে একটি ব্যবহারকারী সাইন ইন করুন

একটি পাসওয়ার্ড দিয়ে একটি ব্যবহারকারী সাইন ইন করার পদক্ষেপগুলি একটি নতুন অ্যাকাউন্ট তৈরির পদক্ষেপগুলির অনুরূপ৷ আপনার অ্যাপের সাইন-ইন ফাংশনে, নিম্নলিখিতগুলি করুন:

  1. যখন একজন ব্যবহারকারী আপনার অ্যাপে সাইন ইন করেন, তখন ব্যবহারকারীর ইমেল ঠিকানা এবং পাসওয়ার্ড FirebaseAuth.SignInWithEmailAndPassword এ পাস করুন।SignInWithEmailAndPassword :
    auth.SignInWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("SignInWithEmailAndPasswordAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("SignInWithEmailAndPasswordAsync encountered an error: " + task.Exception);
        return;
      }
    
      Firebase.Auth.AuthResult result = task.Result;
      Debug.LogFormat("User signed in successfully: {0} ({1})",
          result.User.DisplayName, result.User.UserId);
    });
    
  2. আপনি শংসাপত্র তৈরি করতে পারেন এবং অন্যান্য কর্মপ্রবাহের মতো সাইন ইন করতে পারেন:
    Firebase.Auth.Credential credential =
        Firebase.Auth.EmailAuthProvider.GetCredential(email, password);
    auth.SignInAndRetrieveDataWithCredentialAsync(credential).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("SignInAndRetrieveDataWithCredentialAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("SignInAndRetrieveDataWithCredentialAsync encountered an error: " + task.Exception);
        return;
      }
    
      Firebase.Auth.AuthResult result = task.Result;
      Debug.LogFormat("User signed in successfully: {0} ({1})",
          result.User.DisplayName, result.User.UserId);
    });
    

প্রস্তাবিত: ইমেল গণনা সুরক্ষা সক্ষম করুন

কিছু ফায়ারবেস প্রমাণীকরণ পদ্ধতি যেগুলি ইমেল ঠিকানাগুলিকে প্যারামিটার হিসাবে গ্রহণ করে সেগুলি নির্দিষ্ট ত্রুটিগুলি ফেলে যদি ইমেল ঠিকানাটি নিবন্ধিত না থাকে যখন এটি নিবন্ধিত হতে হবে (উদাহরণস্বরূপ, একটি ইমেল ঠিকানা এবং পাসওয়ার্ড দিয়ে সাইন ইন করার সময়), বা যখন এটি অবশ্যই অব্যবহৃত হবে তখন নিবন্ধিত হবে (উদাহরণস্বরূপ, ব্যবহারকারীর ইমেল ঠিকানা পরিবর্তন করার সময়)। যদিও এটি ব্যবহারকারীদের নির্দিষ্ট প্রতিকারের পরামর্শ দেওয়ার জন্য সহায়ক হতে পারে, এটি আপনার ব্যবহারকারীদের দ্বারা নিবন্ধিত ইমেল ঠিকানাগুলি আবিষ্কার করার জন্য দূষিত অভিনেতাদের দ্বারা অপব্যবহার করা যেতে পারে।

এই ঝুঁকি কমাতে, আমরা আপনাকে Google Cloud gcloud টুল ব্যবহার করে আপনার প্রকল্পের জন্য ইমেল গণনা সুরক্ষা সক্ষম করার সুপারিশ করছি। মনে রাখবেন যে এই বৈশিষ্ট্যটি সক্ষম করলে Firebase প্রমাণীকরণের ত্রুটি রিপোর্টিং আচরণ পরিবর্তন হয়: নিশ্চিত হন যে আপনার অ্যাপটি আরও নির্দিষ্ট ত্রুটির উপর নির্ভর করে না।

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

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

  • আপনার অ্যাপে, আপনি Firebase.Auth.FirebaseUser অবজেক্ট থেকে ব্যবহারকারীর মৌলিক প্রোফাইল তথ্য পেতে পারেন:

    Firebase.Auth.FirebaseUser user = auth.CurrentUser;
    if (user != null) {
      string name = user.DisplayName;
      string email = user.Email;
      System.Uri photo_url = user.PhotoUrl;
      // 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 User.TokenAsync() instead.
      string uid = user.UserId;
    }
    
  • আপনার ফায়ারবেস রিয়েলটাইম ডেটাবেস এবং ক্লাউড স্টোরেজ সুরক্ষা নিয়মে , আপনি auth ভেরিয়েবল থেকে সাইন-ইন করা ব্যবহারকারীর অনন্য ব্যবহারকারী আইডি পেতে পারেন এবং ব্যবহারকারী কোন ডেটা অ্যাক্সেস করতে পারে তা নিয়ন্ত্রণ করতে এটি ব্যবহার করতে পারেন।

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

একজন ব্যবহারকারীকে সাইন আউট করতে, SignOut() কল করুন :

auth.SignOut();