util for checkin' jwt validation and refresh

This commit is contained in:
IluaAir
2025-10-18 23:10:32 +03:00
parent 6f49d2b171
commit 5e229585ef

View File

@@ -6,13 +6,24 @@ export function cn(...inputs) {
return twMerge(clsx(inputs)); return twMerge(clsx(inputs));
} }
export function jwtexp(token) { export async function jwtexp(token) {
const decoded = decode(token); const decoded = decode(token);
if (decoded.exp < Date.now() / 1000) { const currentTime = Date.now() / 1000;
console.log("Token expired"); const tokenExp = decoded.exp;
return false; if (tokenExp < currentTime || tokenExp - currentTime < 120) {
} else { console.log("Token needs refresh");
console.log("Token is valid");
return true; try {
const newTokenData = await refreshToken();
console.log("Token refreshed successfully");
return true;
} catch (error) {
console.error("Failed to refresh token:", error);
return false;
}
} }
console.log("Token is valid");
return true;
} }