FactuGES_ERP/apps/web/src/lib/token.ts
2025-05-29 13:15:28 +02:00

41 lines
1.0 KiB
TypeScript

import secureLocalStorage from "react-secure-storage";
/**
* Servicio para manejar la obtención del token JWT desde el almacenamiento local.
* Este archivo puede evolucionar a un AuthService más completo en el futuro.
*/
/**
* Clave utilizada en el almacenamiento local para el token JWT.
*/
const TOKEN_STORAGE_KEY = "factuges.auth";
/**
* Obtiene el token JWT almacenado localmente.
*
* @returns El token como string, o null si no está disponible.
*/
export const getAccessToken = (): string | null => {
const authInfo = secureLocalStorage.getItem(TOKEN_STORAGE_KEY) as { token?: string } | null;
return typeof authInfo?.token === "string" ? authInfo.token : null;
};
/**
* Almacena el token JWT localmente.
*
* @params El token como string.
*/
export const setAccessToken = (token: string): void => {
secureLocalStorage.setItem(TOKEN_STORAGE_KEY, token);
};
setAccessToken;
/**
* Limpia el token JWT del almacenamiento local.
*/
export const clearAccessToken = (): void => {
secureLocalStorage.removeItem(TOKEN_STORAGE_KEY);
};