41 lines
1.0 KiB
TypeScript
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);
|
|
};
|