// 1. Manually Create Session Record in DB
const sessionToken = crypto.randomBytes(32).toString("hex");
await userDb.insert(session).values({
id: crypto.randomUUID(),
userId: userId, // Gotten from finding/creating user earlier
expiresAt: sessionExpiresAt,
token: sessionToken, // Store the generated token
createdAt: nowForSession,
updatedAt: nowForSession,
ipAddress: clientAddress,
userAgent: userAgent,
}).execute();
// 2. Manually Set Cookie using Astro's helper
cookies.set("better-auth.session_token", sessionToken, {
path: "/",
httpOnly: true,
secure: import.meta.env.PROD,
sameSite: "lax",
maxAge: SESSION_MAX_AGE // e.g., 30 days
});
// 1. Manually Create Session Record in DB
const sessionToken = crypto.randomBytes(32).toString("hex");
await userDb.insert(session).values({
id: crypto.randomUUID(),
userId: userId, // Gotten from finding/creating user earlier
expiresAt: sessionExpiresAt,
token: sessionToken, // Store the generated token
createdAt: nowForSession,
updatedAt: nowForSession,
ipAddress: clientAddress,
userAgent: userAgent,
}).execute();
// 2. Manually Set Cookie using Astro's helper
cookies.set("better-auth.session_token", sessionToken, {
path: "/",
httpOnly: true,
secure: import.meta.env.PROD,
sameSite: "lax",
maxAge: SESSION_MAX_AGE // e.g., 30 days
});