একটি কাস্টম প্রমাণীকরণ সিস্টেম এবং ityক্য ব্যবহার করে ফায়ারবেস দিয়ে প্রমাণীকরণ করুন

আপনি যখন একটি ব্যবহারকারী সফলভাবে সাইন ইন করেন তখন কাস্টম স্বাক্ষরিত টোকেন তৈরির জন্য আপনার প্রমাণীকরণ সার্ভার পরিবর্তন করে একটি কাস্টম প্রমাণীকরণ সিস্টেমের সাথে আপনি Firebase প্রমাণীকরণকে সংহত করতে পারেন।

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

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

    • আপনার ফায়ারবেস প্রকল্পের সাথে আপনার ইউনিটি প্রকল্প নিবন্ধন করুন।
    • যোগ Firebase ইউনিটি SDK এর (বিশেষত FirebaseAuth.unitypackage ) আপনার ইউনিটি প্রকল্পে।

    এই প্রাথমিক সেটআপ ধাপের জন্য বিস্তারিত নির্দেশাবলীর খুঁজুন আপনার ইউনিটি প্রকল্পে Firebase যোগ

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

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

FirebaseAuth বর্গ সব API কল জন্য গেটওয়ে। এটা মাধ্যমে accessable হয় FirebaseAuth.DefaultInstance
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

ফোন করুন Firebase.Auth.FirebaseAuth.SignInWithCustomTokenAsync আপনার প্রমাণীকরণ সার্ভার থেকে টোকেন সঙ্গে।

  1. যখন ব্যবহারকারীরা আপনার অ্যাপে সাইন ইন করে, তাদের সাইন-ইন শংসাপত্রগুলি (উদাহরণস্বরূপ, তাদের ব্যবহারকারীর নাম এবং পাসওয়ার্ড) আপনার প্রমাণীকরণ সার্ভারে পাঠান। আপনার সার্ভার চেক প্রমাণপত্রাদি এবং আয় একটি টোকেন কাস্টম যদি তারা বৈধ।
  2. কাস্টম আপনার প্রমাণীকরণ সার্ভার থেকে টোকেনটি পাওয়ার পরে, এটি পাস Firebase.Auth.FirebaseAuth.SignInWithCustomTokenAsync ব্যবহারকারী সাইন ইন করতে:
    auth.SignInWithCustomTokenAsync(custom_token).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("SignInWithCustomTokenAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("SignInWithCustomTokenAsync encountered an error: " + task.Exception);
        return;
      }
    
      Firebase.Auth.FirebaseUser newUser = task.Result;
      Debug.LogFormat("User signed in successfully: {0} ({1})",
          newUser.DisplayName, newUser.UserId);
    });
    

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

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

  • আপনার অ্যাপ্লিকেশান, আপনি থেকে ব্যবহারকারীর সাধারণ প্রোফাইল তথ্য পেতে পারেন 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;
    }
    
  • আপনার Firebase রিয়েলটাইম ডাটাবেস এবং ক্লাউড স্টোরেজ সিকিউরিটি রুলস , আপনি পেতে পারেন সাইন ইন থেকে ব্যবহারকারী এর অনন্য ব্যবহারকারী আইডি auth পরিবর্তনশীল, এবং এটি ব্যবহার কোন ডেটা একটি ব্যবহারকারী অ্যাক্সেস করতে পারবেন নিয়ন্ত্রন করতে পারেন।

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

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

auth.SignOut();