Files
AnimeTV-Backend/src/helpers/http/jwt/decode/index.ts

16 lines
476 B
TypeScript

import jwt from "jsonwebtoken";
import { JWTAuthToken } from "./types";
import { AppError } from "../../../error/instances/app";
export const jwtDecode = (payload: string) => {
if (!payload) throw new AppError(401, "Unauthorized");
const JWTKey = process.env.JWT_SECRET!;
try {
const decodedPayload = jwt.verify(payload, JWTKey);
return decodedPayload as JWTAuthToken;
} catch {
throw new AppError(403, "Invalid or expired token");
}
};