aboutsummaryrefslogtreecommitdiff
path: root/communities/red-right-hand/174bg.net/src/middleware.js
diff options
context:
space:
mode:
Diffstat (limited to 'communities/red-right-hand/174bg.net/src/middleware.js')
-rw-r--r--communities/red-right-hand/174bg.net/src/middleware.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/communities/red-right-hand/174bg.net/src/middleware.js b/communities/red-right-hand/174bg.net/src/middleware.js
new file mode 100644
index 0000000..d9b9a6c
--- /dev/null
+++ b/communities/red-right-hand/174bg.net/src/middleware.js
@@ -0,0 +1,31 @@
+import { NextResponse } from "next/server";
+
+export async function middleware(request) {
+ let session = null;
+
+ try {
+ const res = await fetch(
+ new URL("/api/auth/get-session", request.nextUrl.origin),
+ {
+ headers: {
+ cookie: request.headers.get("cookie") ?? "",
+ },
+ },
+ );
+ session = await res.json();
+ } catch {
+ // If session check fails, treat as unauthenticated
+ }
+
+ if (!session?.user) {
+ const loginUrl = new URL("/login", request.url);
+ loginUrl.searchParams.set("callbackUrl", request.nextUrl.pathname);
+ return NextResponse.redirect(loginUrl);
+ }
+
+ return NextResponse.next();
+}
+
+export const config = {
+ matcher: ["/secure/:path*"],
+};