Files
2026-10-04 14:02:29 +01:00

32 lines
973 B
TypeScript

//export { auth as proxy } from "@/auth";
import { auth } from "@/auth";
// export const proxy = auth((req) => {
// if (!req.auth && req.nextUrl.pathname !== "/login") {
// const newUrl = new URL("/login", req.nextUrl.origin);
// return Response.redirect(newUrl);
// }
// });
export const proxy = auth((req) => {
const { pathname } = req.nextUrl;
const isAuthRoute = pathname === "/login" || pathname === "/register";
// If user is not authenticated and not visiting an auth page, redirect to login
if (!req.auth && !isAuthRoute) {
const newUrl = new URL("/login", req.nextUrl.origin);
return Response.redirect(newUrl);
}
// (Optional) If the user IS authenticated, prevent them from visiting login/register
if (req.auth && isAuthRoute) {
const homeUrl = new URL("/", req.nextUrl.origin);
return Response.redirect(homeUrl);
}
});
export const config = {
matcher: ["/((?!api|_next/static|_next/image|favicon.ico).*)"],
};