rewrite jwt set in login service

This commit is contained in:
rafiarrafif
2025-05-12 21:58:13 +07:00
parent ed8840ee1f
commit c72a06adb4
10 changed files with 9 additions and 25 deletions

View File

@ -0,0 +1,29 @@
import jwt from "jsonwebtoken";
import { Context } from "elysia";
import { JWTAuthToken } from "./types";
import { parse } from "cookie";
import { returnErrorResponse } from "../../../callback/httpResponse";
export const JWTDecodeToken = (ctx: Context): JWTAuthToken => {
const cookiePayload = ctx.request.headers.get("Cookie");
if (!cookiePayload)
throw returnErrorResponse(ctx.set, 400, "Bad Request", "No cookies found");
const cookies = parse(cookiePayload);
const cookiesToken = cookies.auth_token!;
try {
const decodedToken = jwt.verify(
cookiesToken,
process.env.JWT_SECRET!
) as JWTAuthToken;
return decodedToken;
} catch (error) {
throw returnErrorResponse(
ctx.set,
401,
"Unauthorized",
"Invalid or expired token"
);
}
};