Files
postcast-tool/lib/session.js
T
Alexey Pavlov 5dd975a9cd feat: zeropost-tool — Next.js 16 кабинет
- Auth: iron-session, регистрация/логин по email+password
- Дашборд со списком каналов
- 3-шаговая анкета создания канала (база/стиль/примеры+табу)
- Страница канала с генератором постов через polling
- Тёмная тема, Tailwind 3.4, accent emerald
- Прокси-API к zeropost-engine с x-user-id
- Совместимость с Next 16 async cookies/params
2026-05-31 08:38:10 +03:00

25 lines
689 B
JavaScript

import { cookies } from 'next/headers';
import { getIronSession } from 'iron-session';
const sessionOptions = {
cookieName: 'zeropost_session',
password: process.env.SESSION_SECRET || 'this_is_a_dev_secret_change_in_prod_at_least_32_chars',
cookieOptions: {
secure: process.env.NODE_ENV === 'production',
sameSite: 'lax',
httpOnly: true,
maxAge: 60 * 60 * 24 * 30,
},
};
export async function getSession() {
const cookieStore = await cookies();
return getIronSession(cookieStore, sessionOptions);
}
export async function requireUser() {
const s = await getSession();
if (!s.userId) return null;
return { id: s.userId, email: s.email, name: s.name };
}