mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-21 18:04:39 -05:00
26 lines
786 B
TypeScript
26 lines
786 B
TypeScript
import { createCookieSessionStorage } from "@remix-run/node";
|
|
import { IS_E2E_TEST_RUN } from "~/utils/e2e";
|
|
import invariant from "~/utils/invariant";
|
|
|
|
const ONE_YEAR_IN_SECONDS = 31_536_000;
|
|
|
|
if (process.env.NODE_ENV === "production") {
|
|
invariant(process.env.SESSION_SECRET, "SESSION_SECRET is required");
|
|
}
|
|
export const authSessionStorage = createCookieSessionStorage({
|
|
cookie: {
|
|
name: "__session",
|
|
sameSite: "lax",
|
|
// need to specify domain so that sub-domains can access it
|
|
domain:
|
|
process.env.NODE_ENV === "production" && !IS_E2E_TEST_RUN
|
|
? "sendou.ink"
|
|
: undefined,
|
|
path: "/",
|
|
httpOnly: true,
|
|
secrets: [process.env.SESSION_SECRET ?? "secret"],
|
|
secure: process.env.NODE_ENV === "production" && !IS_E2E_TEST_RUN,
|
|
maxAge: ONE_YEAR_IN_SECONDS,
|
|
},
|
|
});
|