35 lines
880 B
TypeScript
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;
|
|
}
|