Save up to 50%! Summer Hot Sale.

   +88 01784904901   Road-10, House-29, Nikunja 2, Khilkhet, Dhaka 1229

Next.js এ Authentication কিভাবে কাজ করে?

Next.js Authentication

ওয়েব অ্যাপ বানাতে গেলে সবচেয়ে গুরুত্বপূর্ণ সিকিউরিটি লেয়ারগুলোর একটা হলো Authentication — অর্থাৎ, ইউজার আসলেই কে সেটা যাচাই করা।
Next.js এ এই সিস্টেমটা অনেক সহজে করা যায় thanks to NextAuth.js বা JWT (JSON Web Token) সাপোর্টের জন্য।

চলো ধাপে ধাপে দেখি 👇

🧩 1️⃣ Authentication — “তুমি কে?”

Authentication মানে হলো ইউজার আসলেই সেই ব্যক্তি কি না সেটা যাচাই করা।
Next.js এ আমরা সাধারণত NextAuth.js ব্যবহার করি।

👉 Example:

  • ইউজার username এবং password দিয়ে লগইন করে।
  • সার্ভার ডাটাবেজে যাচাই করে দেখে — এই ইউজার আছে কি না।
  • ঠিক থাকলে, সার্ভার একটা JWT Token বা Session Cookie তৈরি করে।

🔒 2️⃣ Session Management — “তুমি এখনো লগইন আছো তো?”

লগইন করার পর ইউজার বারবার লগইন না করে যেন পেজ ঘুরে দেখতে পারে, এজন্য সেশন ব্যবহার করা হয়।
NextAuth এটাকে নিজেরা হ্যান্ডেল করে —
🟢 next-auth.session-token নামে একটা সিকিউর কুকি সেট করে দেয়,
যেটা দিয়ে Next.js জানে ইউজার এখনো অথেন্টিকেটেড আছে।


🔐 3️⃣ Authorization — “তুমি কী দেখতে পারবে?”

Authentication জানায় “তুমি কে”,
আর Authorization জানায় “তুমি কী করতে পারবে।”

ধরা যাক তোমার ERP সিস্টেমে —

  • Admin সব রিপোর্ট দেখতে পারবে
  • Manager শুধু টিম রিপোর্ট
  • Operator শুধু নিজের রিপোর্ট

এই Role-Based Access Control (RBAC) করা যায় Middleware বা getServerSession() ব্যবহার করে।

🧠 Example Middleware (Route Protection)

import { getToken } from “next-auth/jwt”
import { NextResponse } from “next/server”

export async function middleware(req) {
const token = await getToken({ req })
const url = req.nextUrl

if (!token && url.pathname.startsWith(“/admin”)) {
return NextResponse.redirect(new URL(“/login”, req.url))
}

return NextResponse.next()
}

এই কোডটা /admin route কে প্রোটেক্ট করবে।
লগইন না থাকলে ইউজারকে /login এ রিডাইরেক্ট করবে।

✅ Use NextAuth (JWT strategy)
✅ Store user roles in DB
✅ Protect routes with middleware

Close