ব্যবহারকারী সাইন-ইন করলে কাস্টম সাইন-ইন টোকেন তৈরি করার জন্য আপনার যাচাইকরণ সার্ভার পরিবর্তন করে আপনি কাস্টম যাচাইকরণ সিস্টেমের সাথে Firebase Authentication ইন্টিগ্রেট করতে পারবেন। আপনার অ্যাপ এই টোকেন পায় এবং Firebase-এর মাধ্যমে যাচাই করার জন্য এটি ব্যবহার করে।
শুরু করার আগে
-
Firebase Authentication ব্যবহার করার আগে, আপনাকে যা করতে হবে:
- আপনার Firebase প্রোজেক্টের সাথে Unity প্রোজেক্ট রেজিস্টার করুন।
- আপনার Unity প্রোজেক্টে Firebase Unity SDK (বিশেষ করে,
FirebaseAuth.unitypackage) যোগ করুন।
প্রাথমিক সেট-আপের এইসব ধাপের জন্য বিস্তারিত নির্দেশাবলী আপনার Unity প্রোজেক্টে Firebase যোগ করুন লিঙ্কে দেখুন।
- আপনার প্রোজেক্টের সার্ভার কী পান:
-
Firebase কনসোলে,
সেটিংস > পরিষেবা অ্যাকাউন্ট ট্যাব বিকল্পে যান। - Firebase Admin SDK বিভাগের নিচে, নতুন ব্যক্তিগত কী তৈরি করুন বিকল্পে ক্লিক করুন।
- নতুন পরিষেবা অ্যাকাউন্টের পাবলিক/ব্যক্তিগত কী পেয়ার অটোমেটিক আপনার কম্পিউটারে সেভ হয়ে যায়। আপনার যাচাইকরণ সার্ভারে এই ফাইল কপি করুন।
-
Firebase কনসোলে,
Firebase-এর মাধ্যমে যাচাই করুন
FirebaseAuth ক্লাস হল সব API কলের গেটওয়ে।
এটি FirebaseAuth.DefaultInstance-এর মাধ্যমে অ্যাক্সেস করা যায়।
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
আপনার যাচাইকরণ সার্ভার থেকে টোকেন সহ
Firebase.Auth.FirebaseAuth.SignInWithCustomTokenAsync-এ কল করুন।
- ব্যবহারকারীরা আপনার অ্যাপে সাইন-ইন করলে, তাদের সাইন-ইন ক্রেডেনশিয়াল (যেমন, তাদের ইউজারনেম এবং পাসওয়ার্ড) আপনার যাচাইকরণ সার্ভারে পাঠান। আপনার সার্ভার ক্রেডেনশিয়াল চেক করে এবং সেগুলি সঠিক হলে একটি কাস্টম টোকেন ফেরত পাঠায়।
- আপনার যাচাইকরণ সার্ভার থেকে কাস্টম টোকেন পাওয়ার পরে, ব্যবহারকারীকে সাইন-ইন করাতে
এটি
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.AuthResult result = task.Result; Debug.LogFormat("User signed in successfully: {0} ({1})", result.User.DisplayName, result.User.UserId); });
পরবর্তী ধাপ
ব্যবহারকারী প্রথমবার সাইন-ইন করার পরে, একটি নতুন ব্যবহারকারীর অ্যাকাউন্ট তৈরি করা হয় এবং ক্রেডেনশিয়ালের সাথে লিঙ্ক করা হয়—অর্থাৎ, ব্যবহারকারীর নাম এবং পাসওয়ার্ড, ফোন নম্বর, বা প্রমাণীকরণ প্রদানকারীর তথ্য—যার মাধ্যমে ব্যবহারকারী সাইন-ইন করেছেন। এই নতুন অ্যাকাউন্ট আপনার 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; }
আপনার Firebase Realtime Database এবং Cloud Storage নিরাপত্তা সংক্রান্ত নিয়মে, আপনি
authভেরিয়েবল থেকে সাইন-ইন করা ব্যবহারকারীর অনন্য ব্যবহারকারী আইডি পেতে পারেন এবং কোনও ব্যবহারকারী কোন ডেটা অ্যাক্সেস করতে পারবেন তা নিয়ন্ত্রণ করতে এটি ব্যবহার করতে পারেন।
আগে থেকে থাকা ব্যবহারকারীর অ্যাকাউন্টে অথেন্টিকেশন পরিষেবা প্রদানকারীর ক্রেডেনশিয়াল লিঙ্ক করে আপনি ব্যবহারকারীদের একাধিক অথেন্টিকেশন পরিষেবা প্রদানকারী ব্যবহার করে আপনার অ্যাপে সাইন-ইন করার অনুমতি দিতে পারেন।
কোনও ব্যবহারকারীকে সাইন-আউট করতে,
SignOut() কল করুন:
auth.SignOut();