Innebygd innlogging (AUTH_MODE=app) med neon-login og proxy-bypass
Valgfri app-auth ved siden av proxy-modus (default uendret). Signert sesjons-cookie (scrypt-passord, HMAC, ingen avhengigheter), gating av API + WebSocket, og en selvstendig neon-login (public/login.html) for uautentiserte. Trusted bypass: en proxy-identitet (X-Remote-User / Basic Auth) regnes som innlogget uten app-passord (TRUST_PROXY_HEADER, default på), så man kan bootstrappe: logg inn via NPM Basic Auth → sett app-passord i konto-modalen → skru av Basic Auth. Konto-UI for sett/endre passord + logg ut. AUTH_MODE leses per createServer-instans (testbart). 34 integrasjonstester (8 nye for app-auth), alle grønne. README/CLAUDE.md/setup-skript oppdatert. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
7287f33e47
commit
f6268440d9
9 changed files with 711 additions and 42 deletions
|
|
@ -13,7 +13,9 @@
|
|||
# Valgfrie miljøvariabler:
|
||||
# PORT=3000 lytteport (default 3000)
|
||||
# APP_DIR=/opt/netops hvor repoet havner ved kloning
|
||||
# DISABLE_COOKIE_AUTH=1 skru av selvvalgt navn i UI (når proxyen gjør auth)
|
||||
# AUTH_MODE=app innebygd innlogging (sesjons-cookie + passord)
|
||||
# TRUST_PROXY_HEADER=0 slå av proxy-bypass i app-modus
|
||||
# DISABLE_COOKIE_AUTH=1 proxy-modus: skru av selvvalgt navn i UI
|
||||
#
|
||||
# Kjør skriptet på nytt etter en `git pull` for å oppgradere (idempotent).
|
||||
|
||||
|
|
@ -88,6 +90,8 @@ ExecStart=$(command -v node) server.js
|
|||
Environment=PORT=$PORT
|
||||
Environment=HOST=0.0.0.0
|
||||
Environment=DATA_DIR=/var/lib/$SERVICE
|
||||
${AUTH_MODE:+Environment=AUTH_MODE=$AUTH_MODE}
|
||||
${TRUST_PROXY_HEADER:+Environment=TRUST_PROXY_HEADER=$TRUST_PROXY_HEADER}
|
||||
${DISABLE_COOKIE_AUTH:+Environment=DISABLE_COOKIE_AUTH=1}
|
||||
Restart=on-failure
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue