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