21 lines
541 B
JavaScript
21 lines
541 B
JavaScript
import { cookies } from 'next/headers';
|
|
|
|
const SESSION_COOKIE = 'zp_admin_session';
|
|
const VALID_TOKEN = process.env.ADMIN_PASSWORD || 'zeropost_admin_2026';
|
|
|
|
export async function checkAdminAuth() {
|
|
const jar = await cookies();
|
|
const token = jar.get(SESSION_COOKIE)?.value;
|
|
return token === VALID_TOKEN;
|
|
}
|
|
|
|
export async function requireAdminAuth() {
|
|
const ok = await checkAdminAuth();
|
|
if (!ok) {
|
|
const { redirect } = await import('next/navigation');
|
|
redirect('/admin/login');
|
|
}
|
|
}
|
|
|
|
export { SESSION_COOKIE, VALID_TOKEN };
|