Files
mugladijitalmedya/proxy.ts

28 lines
880 B
TypeScript

import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';
export function proxy(request: NextRequest) {
const isAdminRoute = request.nextUrl.pathname.startsWith('/admin');
const isLoginRoute = request.nextUrl.pathname === '/admin/login';
if (isAdminRoute && !isLoginRoute) {
const session = request.cookies.get('admin_session');
if (!session || session.value !== 'authenticated') {
return NextResponse.redirect(new URL('/admin/login', request.url));
}
}
if (isLoginRoute) {
const session = request.cookies.get('admin_session');
if (session && session.value === 'authenticated') {
return NextResponse.redirect(new URL('/admin', request.url));
}
}
return NextResponse.next();
}
export const config = {
matcher: '/admin/:path*',
};