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));
}
export function jwtexp(token) {
export async function jwtexp(token) {
const decoded = decode(token);
if (decoded.exp < Date.now() / 1000) {
console.log("Token expired");
const currentTime = Date.now() / 1000;
const tokenExp = decoded.exp;
if (tokenExp < currentTime || tokenExp - currentTime < 120) {
console.log("Token needs refresh");
try {
const newTokenData = await refreshToken();
console.log("Token refreshed successfully");
return true;
} catch (error) {
console.error("Failed to refresh token:", error);
return false;
} else {
}
}
console.log("Token is valid");
return true;
}
}