add registration and session logic

This commit is contained in:
smanylov
2025-11-27 21:33:53 +07:00
parent 5c6a235ece
commit 39dee22b89
12 changed files with 191 additions and 45 deletions
+18 -4
View File
@@ -1,11 +1,25 @@
import { NextResponse, NextRequest } from 'next/server';
import { cookies } from 'next/headers'
import { decrypt } from '@/app/lib/session';
const isLogin = true;
const protectedRoutes = ['/pages']
const publicRoutes = ['/login', '/register', '/']
export function proxy(request: NextRequest) {
if (request.nextUrl.pathname !== '/login' && !isLogin) {
return NextResponse.redirect(new URL('/login', request.url));
export default async function proxy(request: NextRequest) {
const path = request.nextUrl.pathname;
const isProtectedRoute = protectedRoutes.includes(path.slice(0, 6));
const isPublicRoute = publicRoutes.includes(path);
const cookie = (await cookies()).get('session')?.value;
console.log("cookie");
console.log(!!cookie);
const session = await decrypt(cookie);
if (isProtectedRoute && !session?.userId) {
return NextResponse.redirect(new URL('/login', request.nextUrl))
}
return NextResponse.next();
}
export const config = {