diff --git a/src/lib/auth.ts b/src/lib/auth.ts new file mode 100644 index 0000000..0673a9f --- /dev/null +++ b/src/lib/auth.ts @@ -0,0 +1,26 @@ +import { cookies } from 'next/headers'; + +const SESSION_COOKIE = 'admin_session'; +const SESSION_SECRET = 'marines-agen-secret-2024'; + +export function createSession(): void { + const cookieStore = cookies(); + cookieStore.set(SESSION_COOKIE, SESSION_SECRET, { + httpOnly: true, + secure: process.env.NODE_ENV === 'production', + sameSite: 'lax', + maxAge: 60 * 60 * 8, // 8 hours + path: '/', + }); +} + +export function destroySession(): void { + const cookieStore = cookies(); + cookieStore.delete(SESSION_COOKIE); +} + +export function isAuthenticated(): boolean { + const cookieStore = cookies(); + const session = cookieStore.get(SESSION_COOKIE); + return session?.value === SESSION_SECRET; +}