diff --git a/web/src/app/_components/webpage.tsx b/web/src/app/_components/webpage.tsx
index 47d789e..5a964aa 100644
--- a/web/src/app/_components/webpage.tsx
+++ b/web/src/app/_components/webpage.tsx
@@ -1,18 +1,29 @@
 "use client"
 
-import { useEffect } from "react";
 import { redirect } from "next/navigation";
+import { useEffect } from "react";
 
 import Header from "./header";
 
+async function login_check() {
+	try {
+		const response = await fetch("/api/session/validate")
+		if (response.ok) {
+			const logged_in = await response.json()
+			if (logged_in.code === 500) {
+				redirect("https://auth.staging.strafes.net/")
+			}
+		} else {
+			console.error("No response from /api/session/validate")
+		}
+	} catch (error) {
+		console.error("Error getting login status:", error)
+	}
+}
+
 export default function Webpage({children}: Readonly<{children?: React.ReactNode}>) {
-	//check if the user is logged into the auth
 	useEffect(() => {
-	  	const cookies = document.cookie.split("; ")
-	    const hasCookie = cookies.some(cookie => cookie.startsWith("session_id="))
-	    if (!hasCookie) {
-		    redirect("https://auth.staging.strafes.net/")
-	    }
+		login_check()
 	}, [])
 
 	return <>