a tool for shared writing and social publishing
at refactor/page-perf 31 lines 842 B view raw
1import { cookies, headers } from "next/headers"; 2import { isProductionDomain } from "./utils/isProductionDeployment"; 3 4export async function getAuthToken() { 5 let cookieStore = await cookies(); 6 return ( 7 cookieStore.get("auth_token")?.value || 8 cookieStore.get("external_auth_token")?.value || 9 null 10 ); 11} 12 13export async function setAuthToken(tokenID: string) { 14 let c = await cookies(); 15 let host = (await headers()).get("host"); 16 c.set("auth_token", tokenID, { 17 maxAge: 60 * 60 * 24 * 365, 18 secure: process.env.NODE_ENV === "production", 19 domain: isProductionDomain() ? host! : undefined, 20 httpOnly: true, 21 sameSite: "lax", 22 }); 23} 24 25export async function removeAuthToken() { 26 let c = await cookies(); 27 c.delete({ 28 name: "auth_token", 29 domain: isProductionDomain() ? ".leaflet.pub" : undefined, 30 }); 31}