ব্যবহারকারী সফলভাবে সাইন ইন করলে কাস্টম স্বাক্ষরিত টোকেন তৈরি করার জন্য আপনার অথেনটিকেশন সার্ভারটি পরিবর্তন করে আপনি একটি কাস্টম অথেনটিকেশন সিস্টেমের সাথে ফায়ারবেস অথেনটিকেশনকে একীভূত করতে পারেন। আপনার অ্যাপ এই টোকেনটি গ্রহণ করে এবং ফায়ারবেসের সাথে অথেনটিকেশনের জন্য এটি ব্যবহার করে।
শুরু করার আগে
- যদি আগে থেকে না করে থাকেন, তাহলে ‘শুরু করার নির্দেশিকা’-তে দেওয়া ধাপগুলো অনুসরণ করুন।
- Firebase অ্যাডমিন SDK ইনস্টল এবং কনফিগার করুন । আপনার Firebase প্রোজেক্টের জন্য সঠিক ক্রেডেনশিয়াল দিয়ে SDK-টি ইনিশিয়ালাইজ করা নিশ্চিত করুন।
ফায়ারবেস দিয়ে প্রমাণীকরণ করুন
যখন ব্যবহারকারীরা আপনার অ্যাপে সাইন ইন করেন, তখন তাদের সাইন-ইন ক্রেডেনশিয়াল (যেমন, তাদের ইউজারনেম এবং পাসওয়ার্ড) আপনার অথেনটিকেশন সার্ভারে পাঠান। আপনার সার্ভার ক্রেডেনশিয়ালগুলো যাচাই করে এবং সেগুলো বৈধ হলে একটি কাস্টম ফায়ারবেস টোকেন তৈরি করে আপনার অ্যাপে ফেরত পাঠায়।
আপনার অথেনটিকেশন সার্ভার থেকে কাস্টম টোকেনটি পাওয়ার পর, ব্যবহারকারীকে সাইন ইন করতে সেটি
signInWithCustomToken()ফাংশনে পাস করুন:try { final userCredential = await FirebaseAuth.instance.signInWithCustomToken(token); print("Sign-in successful."); } on FirebaseAuthException catch (e) { switch (e.code) { case "invalid-custom-token": print("The supplied token is not a Firebase custom auth token."); break; case "custom-token-mismatch": print("The supplied token is for a different Firebase project."); break; default: print("Unknown error."); } }
পরবর্তী পদক্ষেপ
কোনো ব্যবহারকারী একটি নতুন অ্যাকাউন্ট তৈরি করার পর, এই অ্যাকাউন্টটি আপনার Firebase প্রজেক্টের অংশ হিসেবে সংরক্ষিত হয় এবং ব্যবহারকারী কোন সাইন-ইন পদ্ধতি ব্যবহার করেছেন তা নির্বিশেষে, আপনার প্রজেক্টের প্রতিটি অ্যাপে তাকে শনাক্ত করতে এটি ব্যবহার করা যেতে পারে।
আপনার অ্যাপে, আপনি User অবজেক্ট থেকে ব্যবহারকারীর প্রাথমিক প্রোফাইল তথ্য পেতে পারেন। ব্যবহারকারী ব্যবস্থাপনা (Manage Users) দেখুন।
আপনার Firebase Realtime Database and Cloud Storage Security Rules-এ, আপনি auth ভেরিয়েবল থেকে সাইন-ইন করা ব্যবহারকারীর অনন্য ইউজার আইডি পেতে পারেন এবং এটি ব্যবহার করে একজন ব্যবহারকারী কোন ডেটা অ্যাক্সেস করতে পারবে তা নিয়ন্ত্রণ করতে পারেন।
বিদ্যমান কোনো ব্যবহারকারী অ্যাকাউন্টের সাথে অথেন্টিকেশন প্রোভাইডারের ক্রেডেনশিয়াল লিঙ্ক করার মাধ্যমে আপনি ব্যবহারকারীদের একাধিক অথেন্টিকেশন প্রোভাইডার ব্যবহার করে আপনার অ্যাপে সাইন ইন করার অনুমতি দিতে পারেন।
কোনো ব্যবহারকারীকে সাইন আউট করতে, signOut() কল করুন:
await FirebaseAuth.instance.signOut();