Files
SAE-BUT2-frontend/src/utils/getXSRF.ts
T
2026-03-17 10:18:58 +01:00

21 lines
607 B
TypeScript

export default async function getXSRFToken(): Promise<string> {
const response = await fetch(`${import.meta.env.VITE_API_URL}/sanctum/csrf-cookie`, {
method: 'GET',
credentials: 'include'
});
if (!response.ok && response.status !== 204) {
throw new Error(`Error : ${response.status}`);
}
const name = 'XSRF-TOKEN';
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) {
return decodeURIComponent(parts.pop()!.split(';').shift()!);
}
throw new Error('Error: Invalid XSRF-TOKEN');
}