Add ALLOW_INSECURE_COOKIES env flag for HTTP access in production

Browsers drop Secure cookies on plain-http origins, so logging into the
admin over a LAN/VPN IP (e.g. during server migration, before TLS is in
front) silently failed every authenticated request. Setting
ALLOW_INSECURE_COOKIES=true omits the Secure flag; default behavior in
production is unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
nmemmert
2026-07-07 12:49:37 -04:00
parent f4fd177421
commit 2e406af471
3 changed files with 14 additions and 6 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
import { createHash, randomUUID, timingSafeEqual, createHmac, randomFillSync } from 'node:crypto'
import { readFile, writeFile } from 'node:fs/promises'
import path from 'node:path'
import { parseCookies } from './helpers.js'
import { parseCookies, cookieSecureFlag } from './helpers.js'
import { DATA_DIR } from './paths.js'
const TOTP_SECRET_FILE = path.join(DATA_DIR, 'totp-secret.json')
@@ -18,7 +18,7 @@ const ADMIN_PASSWORD = process.env.ADMIN_PASSWORD
const adminSessions = new Map()
function cookieFlags() {
return process.env.NODE_ENV === 'production' ? '; Secure' : ''
return cookieSecureFlag()
}
export function sha256(value) {