From 68f05fb517831728c56ff63d8fb48f14a7c3047c Mon Sep 17 00:00:00 2001 From: IO <320154041@pcpuma.acatlan.unam.mx> Date: Fri, 20 Feb 2026 18:58:04 -0600 Subject: [PATCH] fixing proxy --- app/Components/layout/Header/Header.tsx | 27 +++++++++++++++++++------ proxy.ts | 15 +++++++++----- 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/app/Components/layout/Header/Header.tsx b/app/Components/layout/Header/Header.tsx index 40b3aa5..fb8c282 100644 --- a/app/Components/layout/Header/Header.tsx +++ b/app/Components/layout/Header/Header.tsx @@ -4,10 +4,25 @@ import BarNavigation from "../BarNavigation/BarNavigation"; import header from "./Header.module.css"; import BarNavigationServicio from "../BarNavigation/BarNavigationServicio"; import { cookies } from "next/headers"; +import { jwtVerify } from "jose"; +import { redirect } from "next/navigation"; + +const secret = new TextEncoder().encode(process.env.JWT_SECRET); export default async function Header() { - const cookieStore = await cookies(); - const role = cookieStore.get("role")?.value || ""; + const cookieStore = cookies(); + const token = (await cookieStore).get("token")?.value; + + let role: number = 5; + + if (token) { + try { + const { payload } = await jwtVerify(token, secret); + role = payload.role as number; + } catch (error) { + role = 5; + } + } return (
@@ -29,11 +44,11 @@ export default async function Header() {
- {role === "1" && } - {role === "4" && } + {role === 1 && } + {role === 4 && } - {role === "2" && } - {role === "3" && } + {role === 2 && } + {role === 3 && }
); diff --git a/proxy.ts b/proxy.ts index bc76c6e..81008aa 100644 --- a/proxy.ts +++ b/proxy.ts @@ -12,8 +12,12 @@ export async function proxy(request: NextRequest) { const token = request.cookies.get("token")?.value; const pathname = request.nextUrl.pathname; - if (!token && pathname != "/") { - return NextResponse.redirect(new URL("/", request.url)); + if (!token && pathname !== "/") { + const response = NextResponse.redirect(new URL("/", request.url)); + + response.cookies.delete("user"); + response.cookies.delete("token"); + return response; } if (pathname === "/" && token) { @@ -47,9 +51,10 @@ export async function proxy(request: NextRequest) { } } catch (error) { - if (pathname != "/") { - return NextResponse.redirect(new URL("/", request.url)); - } + const response = NextResponse.redirect(new URL("/", request.url)); + response.cookies.delete("token"); + response.cookies.delete("user"); + return response; } }