@@ -5,6 +5,11 @@ import { buildKey, redis } from "@/src/util/redis";
55import { NextRequest , NextResponse } from "next/server" ;
66import { User } from "./dataTypes" ;
77
8+ export const cookieName =
9+ process . env . NODE_ENV === "development"
10+ ? "session-uwbh25-dev"
11+ : "__Host-session-uwbh25" ;
12+
813/**
914 * The time that a session should last for, in seconds.
1015 */
@@ -53,7 +58,7 @@ export interface Session {
5358export async function getSession ( ) : Promise < Session > {
5459 const cookieStore = await cookies ( ) ;
5560
56- const cookie = cookieStore . get ( "__Host-session-uwbh25" ) ;
61+ const cookie = cookieStore . get ( cookieName ) ;
5762 if ( ! cookie ?. value ) {
5863 console . error ( "No session cookie found." ) ;
5964 return { } ;
@@ -73,7 +78,7 @@ export async function getSession(): Promise<Session> {
7378 * Ensures that a request/response has a session
7479 */
7580export async function ensureSession ( req : NextRequest , res : NextResponse ) {
76- const cookie = req . cookies . get ( "__Host-session-uwbh25" ) ;
81+ const cookie = req . cookies . get ( cookieName ) ;
7782
7883 // If we have a cookie, ensure that it points to a valid session.
7984 // Otherwise, create a new one.
@@ -99,19 +104,20 @@ export async function ensureSession(req: NextRequest, res: NextResponse) {
99104 const expiresAt = new Date ( Date . now ( ) + sessionTimeSeconds * 1000 ) ;
100105
101106 res . cookies . set ( {
102- name : "__Host-session-uwbh25" ,
107+ name : cookieName ,
103108 value : newSessionId ,
104109 expires : expiresAt ,
105110 httpOnly : true ,
106- secure : true ,
111+ // Development isn't a secure context.
112+ secure : process . env . NODE_ENV !== "development" ,
107113 sameSite : "strict" ,
108114 } ) ;
109115
110116 // Also set the request header so that any server
111117 // side code has the right session ID.
112118 // This doesn't write any cookies.
113119 req . cookies . set ( {
114- name : "__Host-session-uwbh25" ,
120+ name : cookieName ,
115121 value : newSessionId ,
116122 } ) ;
117123}
@@ -125,7 +131,7 @@ export async function ensureSession(req: NextRequest, res: NextResponse) {
125131export async function saveSession ( data : Session ) : Promise < void > {
126132 const cookieStore = await cookies ( ) ;
127133
128- const cookie = cookieStore . get ( "__Host-session-uwbh25" ) ;
134+ const cookie = cookieStore . get ( cookieName ) ;
129135 if ( ! cookie ?. value ) {
130136 // This shouldn't happen, since every user should
131137 // have a session.
0 commit comments