summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2025-07-17 19:50:32 +0200
committerMaze Winther <mazewinther@gmail.com>2025-07-17 19:50:32 +0200
commitb564f7c23933963411bb06a03a777af7647aad93 (patch)
treeaab151623461338b26fd8909240b9a17c21d8133
parent648f0b8529b9f3bafb3bfd9a84a31bc9ac6623ae (diff)
downloadopencut-b564f7c23933963411bb06a03a777af7647aad93.tar.gz
middleware access
-rw-r--r--apps/web/src/middleware.ts15
1 files changed, 14 insertions, 1 deletions
diff --git a/apps/web/src/middleware.ts b/apps/web/src/middleware.ts
index aabc302a..b571061c 100644
--- a/apps/web/src/middleware.ts
+++ b/apps/web/src/middleware.ts
@@ -1,9 +1,22 @@
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
import { env } from "./env";
+import { getSessionCookie } from "better-auth/cookies";
export async function middleware(request: NextRequest) {
const protectedPaths = ["/editor", "/projects"];
+ const sessionCookie = getSessionCookie(request);
+
+ const canAccessProtectedPaths = (request: NextRequest) => {
+ if (env.NODE_ENV === "development") {
+ return true;
+ }
+
+ if (sessionCookie) {
+ return true;
+ }
+ return false;
+ };
// Handle fuckcapcut.com domain redirect
if (request.headers.get("host") === "fuckcapcut.com") {
@@ -12,7 +25,7 @@ export async function middleware(request: NextRequest) {
const path = request.nextUrl.pathname;
- if (protectedPaths.includes(path) && env.NODE_ENV === "production") {
+ if (protectedPaths.includes(path) && !canAccessProtectedPaths(request)) {
const homeUrl = new URL("/", request.url);
homeUrl.searchParams.set("redirect", request.url);
return NextResponse.redirect(homeUrl);