2026-01-11 17:35:33 -06:00
|
|
|
const tokenKey = "token";
|
|
|
|
|
|
|
|
|
|
export const setUser = (user) => {
|
|
|
|
|
if (user && user.token) {
|
|
|
|
|
window.localStorage.setItem(tokenKey, JSON.stringify(user));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
window.localStorage.removeItem(tokenKey);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const getAccessToken = () => {
|
|
|
|
|
let result = window.localStorage.getItem(tokenKey);
|
|
|
|
|
if (!result) {
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
const user = JSON.parse(result);
|
|
|
|
|
return `Bearer ${user.token}`;
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-16 16:25:26 -04:00
|
|
|
export const getRawToken = () => {
|
2026-01-11 17:35:33 -06:00
|
|
|
let result = window.localStorage.getItem(tokenKey);
|
|
|
|
|
if (!result) {
|
2026-04-16 16:25:26 -04:00
|
|
|
return null;
|
2026-01-11 17:35:33 -06:00
|
|
|
}
|
2026-04-16 16:25:26 -04:00
|
|
|
return JSON.parse(result).token || null;
|
|
|
|
|
}
|
2026-01-11 17:35:33 -06:00
|
|
|
|
2026-04-16 16:25:26 -04:00
|
|
|
export const getUser = () => {
|
|
|
|
|
let result = window.localStorage.getItem(tokenKey);
|
|
|
|
|
if (!result) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
2026-01-11 17:35:33 -06:00
|
|
|
return JSON.parse(result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const removeToken = () => {
|
|
|
|
|
window.localStorage.removeItem(tokenKey);
|
2026-04-16 16:25:26 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const isAuthenticated = () => {
|
|
|
|
|
const token = getRawToken();
|
|
|
|
|
if (!token) return false;
|
|
|
|
|
try {
|
|
|
|
|
const payload = JSON.parse(atob(token.split(".")[1]));
|
|
|
|
|
return new Date(payload.exp * 1000) > new Date();
|
|
|
|
|
} catch (e) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|