jwt utils

This commit is contained in:
Oliver Bryan
2025-12-22 03:22:52 +00:00
parent e0ab34f900
commit 22d05d8c26

View File

@@ -0,0 +1,21 @@
import * as jwt from "jsonwebtoken";
const JWT_EXPIRES_IN = (process.env.JWT_EXPIRES_IN ?? "7d") as jwt.SignOptions["expiresIn"];
const requireJwtSecret = () => {
const secret = process.env.JWT_SECRET;
if (!secret) {
throw new Error("JWT_SECRET is required");
}
return secret;
};
export const generateToken = (userId: number) => {
const secret = requireJwtSecret();
return jwt.sign({ userId }, secret, { expiresIn: JWT_EXPIRES_IN });
};
export const verifyToken = (token: string) => {
const secret = requireJwtSecret();
return jwt.verify(token, secret) as { userId: number };
};