আপনি Firebase Authentication ব্যবহার করতে পারেন ব্যবহারকারীদের আপনার অ্যাপে সাইন ইন করার জন্য এক বা একাধিক সাইন-ইন পদ্ধতি ব্যবহার করে, যার মধ্যে রয়েছে ইমেল ঠিকানা এবং পাসওয়ার্ড সাইন-ইন এবং ফেডারেটেড পরিচয় প্রদানকারী যেমন Google সাইন-ইন এবং Facebook লগইন। কিভাবে আপনার অ্যাপে ইমেল ঠিকানা এবং পাসওয়ার্ড সাইন-ইন করতে হয় তা দেখিয়ে এই টিউটোরিয়াল আপনাকে Firebase Authentication সাথে শুরু করে।
Authentication SDK যোগ করুন এবং শুরু করুন
আপনি যদি ইতিমধ্যেই না করে থাকেন তাহলে Firebase JS SDK ইনস্টল করুন এবং Firebase শুরু করুন ।
Firebase Authentication JS SDK যোগ করুন এবং Firebase Authentication শুরু করুন:
Web
import { initializeApp } from "firebase/app"; import { getAuth } from "firebase/auth"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Firebase Authentication and get a reference to the service const auth = getAuth(app);
Web
import firebase from "firebase/compat/app"; import "firebase/compat/auth"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Firebase Authentication and get a reference to the service const auth = firebase.auth();
(ঐচ্ছিক) Firebase Local Emulator Suite সাথে প্রোটোটাইপ এবং পরীক্ষা করুন
আপনার অ্যাপ কীভাবে ব্যবহারকারীদের প্রমাণীকরণ করে সে সম্পর্কে কথা বলার আগে, আসুন Authentication কার্যকারিতা প্রোটোটাইপ এবং পরীক্ষা করার জন্য আপনি ব্যবহার করতে পারেন এমন সরঞ্জামগুলির একটি সেট উপস্থাপন করা যাক: Firebase Local Emulator Suite । আপনি যদি প্রমাণীকরণ কৌশল এবং প্রদানকারীদের মধ্যে সিদ্ধান্ত নিচ্ছেন, Authentication এবং Firebase Security Rules ব্যবহার করে পাবলিক এবং প্রাইভেট ডেটা সহ বিভিন্ন ডেটা মডেল চেষ্টা করে দেখুন, বা সাইন-ইন UI ডিজাইনের প্রোটোটাইপ করে, লাইভ পরিষেবাগুলি স্থাপন না করে স্থানীয়ভাবে কাজ করতে সক্ষম হওয়া একটি দুর্দান্ত ধারণা হতে পারে। .
একটি Authentication এমুলেটর হল Local Emulator Suite অংশ, যা আপনার অ্যাপকে অনুকরণ করা ডাটাবেস সামগ্রী এবং কনফিগারেশনের সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে, সেইসাথে ঐচ্ছিকভাবে আপনার অনুকরণ করা প্রকল্প সংস্থানগুলি (ফাংশন, অন্যান্য ডাটাবেস এবং নিরাপত্তা নিয়ম)।
Authentication এমুলেটর ব্যবহার করা মাত্র কয়েকটি ধাপ জড়িত:
- এমুলেটরের সাথে সংযোগ করতে আপনার অ্যাপের পরীক্ষা কনফিগারে কোডের একটি লাইন যোগ করা হচ্ছে।
- আপনার স্থানীয় প্রজেক্ট ডিরেক্টরির রুট থেকে,
firebase emulators:start
। - ইন্টারেক্টিভ প্রোটোটাইপিংয়ের জন্য Local Emulator Suite UI ব্যবহার করা, অথবা অ-ইন্টারেক্টিভ পরীক্ষার জন্য Authentication এমুলেটর REST API ব্যবহার করা।
একটি বিস্তারিত নির্দেশিকা Connect your app to the Authentication emulator- এ উপলব্ধ। আরও তথ্যের জন্য, Local Emulator Suite ভূমিকা দেখুন।
এখন চলুন কিভাবে ব্যবহারকারীদের প্রমাণীকরণ করা যায়।
নতুন ব্যবহারকারীদের সাইন আপ করুন
একটি ফর্ম তৈরি করুন যা নতুন ব্যবহারকারীদের তাদের ইমেল ঠিকানা এবং একটি পাসওয়ার্ড ব্যবহার করে আপনার অ্যাপে নিবন্ধন করতে দেয়৷ যখন একজন ব্যবহারকারী ফর্মটি পূরণ করেন, তখন ব্যবহারকারীর দেওয়া ইমেল ঠিকানা এবং পাসওয়ার্ড যাচাই করুন, তারপর createUserWithEmailAndPassword
পদ্ধতিতে পাঠান:
Web
import { getAuth, createUserWithEmailAndPassword } from "firebase/auth"; const auth = getAuth(); createUserWithEmailAndPassword(auth, email, password) .then((userCredential) => { // Signed up const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; // .. });
Web
firebase.auth().createUserWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; // .. });
বিদ্যমান ব্যবহারকারীদের সাইন ইন করুন
একটি ফর্ম তৈরি করুন যা বিদ্যমান ব্যবহারকারীদের তাদের ইমেল ঠিকানা এবং পাসওয়ার্ড ব্যবহার করে সাইন ইন করতে দেয়৷ যখন একজন ব্যবহারকারী ফর্মটি পূরণ করেন, তখন signInWithEmailAndPassword
পদ্ধতিতে কল করুন:
Web
import { getAuth, signInWithEmailAndPassword } from "firebase/auth"; const auth = getAuth(); signInWithEmailAndPassword(auth, email, password) .then((userCredential) => { // Signed in const user = userCredential.user; // ... }) .catch((error) => { const errorCode = error.code; const errorMessage = error.message; });
Web
firebase.auth().signInWithEmailAndPassword(email, password) .then((userCredential) => { // Signed in var user = userCredential.user; // ... }) .catch((error) => { var errorCode = error.code; var errorMessage = error.message; });
একটি প্রমাণীকরণ স্টেট পর্যবেক্ষক সেট করুন এবং ব্যবহারকারীর ডেটা পান
আপনার অ্যাপের প্রতিটি পৃষ্ঠার জন্য যাতে সাইন-ইন করা ব্যবহারকারী সম্পর্কে তথ্যের প্রয়োজন হয়, বিশ্বব্যাপী প্রমাণীকরণ বস্তুতে একজন পর্যবেক্ষক সংযুক্ত করুন। যখনই ব্যবহারকারীর সাইন-ইন অবস্থা পরিবর্তন হয় তখন এই পর্যবেক্ষককে ডাকা হয়।
onAuthStateChanged
পদ্ধতি ব্যবহার করে পর্যবেক্ষক সংযুক্ত করুন। যখন একজন ব্যবহারকারী সফলভাবে সাইন ইন করেন, আপনি পর্যবেক্ষক ব্যবহারকারী সম্পর্কে তথ্য পেতে পারেন।
Web
import { getAuth, onAuthStateChanged } from "firebase/auth"; const auth = getAuth(); onAuthStateChanged(auth, (user) => { if (user) { // User is signed in, see docs for a list of available properties // https://firebase.google.com/docs/reference/js/auth.user const uid = user.uid; // ... } else { // User is signed out // ... } });
Web
firebase.auth().onAuthStateChanged((user) => { if (user) { // User is signed in, see docs for a list of available properties // https://firebase.google.com/docs/reference/js/v8/firebase.User var uid = user.uid; // ... } else { // User is signed out // ... } });
পরবর্তী পদক্ষেপ
অন্যান্য পরিচয় প্রদানকারী এবং বেনামী অতিথি অ্যাকাউন্টগুলির জন্য কীভাবে সমর্থন যোগ করবেন তা জানুন: