File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
import 'server-only';
import { cookies } from 'next/headers';
import {
SESSION_COOKIE_NAME,
SESSION_COOKIE_OPTIONS,
} from '@/lib/auth/session-cookie';
import {
createSessionToken,
type CreateSessionTokenInput,
} from '@/lib/auth/session-token';
/** 세션 쿠키 조작 — Server Action에서만 set/delete 가능 (Next.js cookies() 제약). */
export async function createSession(
input: CreateSessionTokenInput
): Promise<void> {
const token = createSessionToken(input);
const cookieStore = await cookies();
cookieStore.set(SESSION_COOKIE_NAME, token, SESSION_COOKIE_OPTIONS);
}
export async function readSessionToken(): Promise<string | null> {
const cookieStore = await cookies();
return cookieStore.get(SESSION_COOKIE_NAME)?.value ?? null;
}
export async function deleteSession(): Promise<void> {
const cookieStore = await cookies();
cookieStore.delete(SESSION_COOKIE_NAME);
}