15 lines
466 B
TypeScript
15 lines
466 B
TypeScript
// lib/jwt.ts
|
|
export function jwtExp(token?: string | null): number | null {
|
|
if (!token) return null;
|
|
try {
|
|
const payload = JSON.parse(Buffer.from(token.split(".")[1], "base64").toString("utf8"));
|
|
return typeof payload?.exp === "number" ? payload.exp : null;
|
|
} catch {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
export function isJwtValid(token?: string | null): boolean {
|
|
const exp = jwtExp(token);
|
|
return !!exp && exp * 1000 > Date.now();
|
|
}
|