Files
litoral-central-frontend/src/features/auth/authSessionStorage.ts
T

35 lines
880 B
TypeScript

import type { AuthSession } from "./AuthContext";
export const AUTH_STORAGE_KEY = "auth-session";
export function readStoredSession(): AuthSession | null {
try {
const raw = localStorage.getItem(AUTH_STORAGE_KEY);
if (!raw) return null;
return JSON.parse(raw) as AuthSession;
} catch {
localStorage.removeItem(AUTH_STORAGE_KEY);
return null;
}
}
export function storeSession(session: AuthSession) {
localStorage.setItem(AUTH_STORAGE_KEY, JSON.stringify(session));
}
export function clearStoredSession() {
localStorage.removeItem(AUTH_STORAGE_KEY);
}
export function getAuthAuthorizationHeader() {
const session = readStoredSession();
if (!session?.accessToken) return null;
return `${session.tokenType || "Bearer"} ${session.accessToken}`;
}
export function getStoredAccessToken() {
return readStoredSession()?.accessToken ?? null;
}