// src/utils/cookies.js const TOKEN_KEY = 'sdn_auth_token'; /** * Получает токен авторизации из куки. * @returns {string|null} Токен или null, если не найден. */ export function getAuthToken() { const nameEQ = TOKEN_KEY + "="; const ca = document.cookie.split(';'); for(let i=0; i < ca.length; i++) { let c = ca[i]; while (c.charAt(0) === ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) === 0) { return c.substring(nameEQ.length, c.length); } } return null; } /** * Устанавливает токен авторизации в куки на 1 год. * @param {string} token - Токен для сохранения. */ export function setAuthToken(token) { const expirationDate = new Date(); // Устанавливаем срок действия на 1 год expirationDate.setTime(expirationDate.getTime() + (365 * 24 * 60 * 60 * 1000)); const expires = "expires=" + expirationDate.toUTCString(); // Используем secure и samesite=Lax (рекомендуется для современных браузеров) // path=/ делает токен доступным для всего сайта document.cookie = `${TOKEN_KEY}=${token};${expires};path=/;samesite=Lax`; } /** * Удаляет токен авторизации. */ export function removeAuthToken() { document.cookie = `${TOKEN_KEY}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`; }