Files
role-user/src/lib/session.ts
T
2026-06-02 14:46:39 +08:00

30 lines
720 B
TypeScript

import "server-only";
import { cookies } from "next/headers";
const DEFAULT_COOKIE_NAME = "role_user_session";
export function getSessionCookieName() {
return process.env.ROLE_USER_SESSION_COOKIE || DEFAULT_COOKIE_NAME;
}
export async function getSessionToken() {
return (await cookies()).get(getSessionCookieName())?.value;
}
export async function setSessionToken(token: string) {
const cookieStore = await cookies();
cookieStore.set(getSessionCookieName(), token, {
httpOnly: true,
secure: process.env.NODE_ENV === "production",
sameSite: "lax",
path: "/",
maxAge: 60 * 60 * 8
});
}
export async function clearSessionToken() {
(await cookies()).delete(getSessionCookieName());
}