util for checkin' jwt validation and refresh
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user