diff --git a/src/app/api/auth/route.ts b/src/app/api/auth/route.ts index d87a16d..888177f 100644 --- a/src/app/api/auth/route.ts +++ b/src/app/api/auth/route.ts @@ -40,7 +40,14 @@ export async function GET(req: NextRequest) { } export async function POST(req: NextRequest) { - let { server_ip, session_token } = await req.json(); + let { server_ip } = await req.json(); + const session_token = req.cookies.get("token")?.value; + + if (!session_token) + return NextResponse.json( + { message: "Token cookie not found" }, + { status: StatusCodes.UNAUTHORIZED } + ); const token = crypto.randomUUID(); diff --git a/src/app/api/user/route.ts b/src/app/api/user/route.ts index a3447e4..accbb9e 100644 --- a/src/app/api/user/route.ts +++ b/src/app/api/user/route.ts @@ -76,7 +76,7 @@ export async function PUT(req: NextRequest) { export async function GET(req: NextRequest) { const url = new URL(req.url); let query_id = url.searchParams.get("id"); - const token = url.searchParams.get("token"); + const token = req.cookies.get("token")?.value; if (!query_id && !token) return NextResponse.json( diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx index c672cb8..546cc95 100644 --- a/src/app/login/page.tsx +++ b/src/app/login/page.tsx @@ -11,6 +11,12 @@ export default function Login() { const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); + const login = async () => { + const res = await axios.put("/api/user", { username, password }); + Cookies.set("token", (res.data as any).token); + redirect("/"); + }; + return (
@@ -21,17 +27,15 @@ export default function Login() { Password - setPassword(e.target.value)} /> + setPassword(e.target.value)} + onKeyDown={(e) => { + if (e.key === "Enter") login(); + }} + /> -
diff --git a/src/app/server/[id]/page.tsx b/src/app/server/[id]/page.tsx index ebef06f..b44c1bc 100644 --- a/src/app/server/[id]/page.tsx +++ b/src/app/server/[id]/page.tsx @@ -23,10 +23,7 @@ export default function Server() { async function auth() { const server_auth = ( ( - await axios.post("/api/auth", { - server_ip: ip, - session_token: Cookies.get("token"), - }) + await axios.post("/api/auth", { server_ip: ip }) ).data as any ).token; diff --git a/src/hooks/get-user.ts b/src/hooks/get-user.ts index 2d981ad..73d2504 100644 --- a/src/hooks/get-user.ts +++ b/src/hooks/get-user.ts @@ -25,11 +25,7 @@ export default function useUser() { } try { - const res = ( - await axios.get("/api/user", { - params: { token }, - }) - ).data as User; + const res = (await axios.get("/api/user")).data as User; setUser(res); } catch {