fix middleware

This commit is contained in:
2025-02-10 16:12:29 +08:00
parent 1ca1042c44
commit a7ad183f3e
5 changed files with 61 additions and 11 deletions

View File

@@ -0,0 +1,9 @@
import { InvalidUser } from "@/app_modules/auth";
export default function Page() {
return (
<>
<InvalidUser />
</>
);
}

View File

@@ -13,7 +13,6 @@ export async function POST(req: Request) {
try {
const { data } = await req.json();
console.log("data api register", data);
const cekUsername = await prisma.user.findUnique({
where: {

View File

@@ -3,6 +3,7 @@ import Login from "./login/view";
import Validasi from "./validasi/view";
import Register from "./register/view";
import Component_ButtonLogout from "./logout/view";
import InvalidUser from "./invalid_user/view";
export {
SplashScreen,
@@ -10,4 +11,5 @@ export {
Validasi,
Register,
Component_ButtonLogout as Logout,
InvalidUser,
};

View File

@@ -0,0 +1,46 @@
"use client";
import { MainColor } from "@/app_modules/_global/color";
import { UIGlobal_LayoutDefault } from "@/app_modules/_global/ui";
import { Button, Stack, Text, Title } from "@mantine/core";
import { useRouter } from "next/navigation";
export default function InvalidUser() {
const router = useRouter();
const deleteCookie = async () => {
const sessionKey = process.env.NEXT_PUBLIC_BASE_SESSION_KEY!;
if (!sessionKey) {
return;
}
try {
await fetch("/api/auth/logout", {
method: "GET",
});
router.push("/login");
} catch (error) {
console.error("Gagal menghapus cookie:", error);
}
};
return (
<>
<UIGlobal_LayoutDefault>
<Stack align="center" justify="center" spacing="md" h={"100vh"}>
<Title order={2} c={MainColor.white}>
{" "}
Invalid User
</Title>
<Button
radius={"xl"}
onClick={() => {
deleteCookie();
}}
>
Logout
</Button>
</Stack>
</UIGlobal_LayoutDefault>
</>
);
}

View File

@@ -54,6 +54,7 @@ const middlewareConfig: MiddlewareConfig = {
"/register",
"/validasi",
"/splash",
"/invalid-user",
"/job-vacancy",
"/preview-image",
"/auth/login",
@@ -145,16 +146,9 @@ export const middleware = async (req: NextRequest) => {
const userValidateJson = await userValidate.json();
if (userValidateJson.success == true && userValidateJson.data == null) {
const logout = await fetch(new URL("/api/auth/logout", req.url), {
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${token}`,
},
});
if (!logout.ok) {
throw new Error("Failed to logout user");
}
return setCorsHeaders(
NextResponse.redirect(new URL("/invalid-user", req.url))
);
}
if (!userValidateJson.data.active) {