diff --git a/proxy.ts b/proxy.ts new file mode 100644 index 0000000..cbb474a --- /dev/null +++ b/proxy.ts @@ -0,0 +1,25 @@ +import { NextResponse, type NextRequest } from 'next/server' + +const PUBLIC_PATHS = ['/login', '/api/auth'] + +export function proxy(request: NextRequest) { + const { pathname } = request.nextUrl + + if (PUBLIC_PATHS.some((p) => pathname.startsWith(p))) { + return NextResponse.next() + } + + const session = request.cookies.get('better-auth.session_token') + + if (!session) { + return NextResponse.redirect(new URL('/login', request.url)) + } + + return NextResponse.next() +} + +export const config = { + matcher: [ + '/((?!_next/static|_next/image|favicon.ico|icons|.*\\.(?:svg|png|jpg|jpeg|gif|webp)$).*)', + ], +}