আপনি 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 ব্যবহার করা।
আপনার অ্যাপকে Authentication এমুলেটরের সাথে কানেক্ট করুন লিঙ্কে বিস্তারিত নির্দেশিকা উপলভ্য আছে। আরও তথ্যের জন্য, 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 // ... } });
পরবর্তী ধাপ
অন্যান্য পরিচয় প্রদানকারী এবং বেনামী গেস্ট অ্যাকাউন্টের জন্য কীভাবে সহায়তা যোগ করতে হয় তা জানুন: