Authentication Patterns
NextAuth.js (AB, Auth.js) EK, POPULAR, AUTHENTICATION, LIBRARY, hai, Next.js, ke, liye — OAuth, PROVIDERS, (Google, GitHub), CREDENTIALS-BASED, LOGIN, aur, SESSION, MANAGEMENT, "OUT, OF, THE, BOX" deता, hai.
Custom, auth, mein, TYPICALLY, JWT, ya, SESSION, COOKIES, MANUALLY, MANAGE, kiye, jaate, HAIN — Server, Actions, se, LOGIN/SIGNUP, HANDLE, kiya, jaata hai, aur, MIDDLEWARE, se, PROTECTED, routes, ENFORCE, kiye, jaate, hain.
// NextAuth.js config (auth.js):
import NextAuth from "next-auth";
import Google from "next-auth/providers/google";
export const { handlers, auth } = NextAuth({
providers: [Google],
});
// Server component mein, session, check:
const session = await auth();
if (!session) redirect("/login");- NextAuth.js (Auth.js) = popular, authentication, library, OAuth, aur, sessions, ke, liye
- Custom auth, mein, JWT/cookies, manually, manage, karne, PADТE, HAIN
- Middleware, se, protected, routes, ENFORCE, kiye, jaate, hain
Middleware, mein, JWT, DECODE, karके, USER, ke, ROLE, ke, HISAAB, se, DIFFERENT, redirects, ki, ja, sakti, HAIN — jaise, EK, "user" role, waala, KISI, "admin" ROUTE, ko, ACCESS, na, kar, sake.
const role = getRoleFromToken(token);
if (pathname.startsWith("/admin") && role !== "admin") {
return NextResponse.redirect(new URL("/unauthorized", request.url));
}Middleware, mein, EK, EXPIRING, SESSION, TOKEN, ko, AUTOMATICALLY, REFRESH, kiya, ja, sakta hai — HAR, REQUEST, PAR, TOKEN, ki, VALIDITY, check, karके, ZAROORAT, PADНE, PAR, EK, NAYA, TOKEN, ISSUE, kiya, ja, sakta hai.