feat: Betrieb hinter einem Anmelde-Proxy, Schlüssel für die App-Liste
Marc stellt Pangolin davor und will keinen zweiten Anmeldeschirm. - HONEYOS_PROXY_AUTH=true: HoneyOS prüft nicht mehr selbst, der Start sagt deutlich, dass der Container dann nur über den Proxy erreichbar sein darf. Mit HONEYOS_USER_HEADER bekommt jeder Name seine eigenen Einstellungen. - HONEYOS_APPS_KEY schützt /api/apps. Nötig, weil HoneyOS auf einer anderen Site liegt als die Apps (duckdns.org steht auf der Public-Suffix-Liste) – der Browser schickt die Sitzung dort nicht mit, und der Pfad muss im Proxy von der Anmeldung befreit sein. Beim Durchspielen mit zwei echten Hostnamen fiel ein Loch auf: Ohne eigene Anmeldung gilt jede Anfrage als angemeldet, also gab der Rückfall auf diese Prüfung die Liste an jeden heraus – auch ohne oder mit falschem Schlüssel. Der Rückfall greift jetzt nur noch, wo es wirklich eine Sitzung geben kann. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
905b136516
commit
1c3218939b
8 files changed
+382
-45
No files matched your search
+37
-17
@@ -24,23 +24,43 @@ HONEYOS_SESSION_SECRET=
|
||||
HONEYOS_DATA_DIR=/srv/honeyos
|
||||
|
||||
# ── Anmeldung ────────────────────────────────────────────────────────────────
|
||||
# Leerer HONEYOS_OIDC_ISSUER = KEINE Anmeldung, jeder kommt rein. Das ist zum
|
||||
# Entwickeln gedacht und gehört nicht ins offene Netz.
|
||||
# Genau einer der beiden Wege:
|
||||
#
|
||||
# In PocketID einen Client anlegen und dort als Rückrufadresse exakt
|
||||
# https://os.honeyy.duckdns.org/api/auth/callback
|
||||
# eintragen. HoneyOS schickt PKCE mit, ein Client-Geheimnis braucht es
|
||||
# trotzdem — also keinen „public client" anlegen.
|
||||
HONEYOS_OIDC_ISSUER=https://id.honeyy.duckdns.org
|
||||
HONEYOS_OIDC_CLIENT_ID=honeyos
|
||||
HONEYOS_OIDC_CLIENT_SECRET=
|
||||
# Nur nötig, wenn die Rückrufadresse von PUBLIC_URL abweicht:
|
||||
# HONEYOS_OIDC_REDIRECT_URL=
|
||||
# A) Ein Proxy davor meldet an (Pangolin, Authelia, …) — HoneyOS fragt nicht
|
||||
# noch einmal. Dann NUR das hier setzen:
|
||||
HONEYOS_PROXY_AUTH=true
|
||||
# Optional: Kopfzeile, in die der Proxy den Nutzernamen schreibt. Ohne sie
|
||||
# teilen sich alle einen Satz Einstellungen — bei einer Person völlig ok.
|
||||
# HONEYOS_USER_HEADER=Remote-User
|
||||
#
|
||||
# ⚠ In diesem Betrieb prüft HoneyOS selbst nichts mehr. Der Container darf
|
||||
# dann NUR über den Proxy erreichbar sein — nicht zusätzlich auf einem
|
||||
# offenen Port im Netz hängen.
|
||||
#
|
||||
# B) HoneyOS meldet selbst an, mit eigenem Anmeldeschirm. Dann PROXY_AUTH
|
||||
# weglassen und stattdessen:
|
||||
# HONEYOS_SESSION_SECRET= # openssl rand -hex 32
|
||||
# HONEYOS_OIDC_ISSUER=https://id.example.com
|
||||
# HONEYOS_OIDC_CLIENT_ID=honeyos
|
||||
# HONEYOS_OIDC_CLIENT_SECRET=
|
||||
# HONEYOS_OIDC_REDIRECT_URL= # nur wenn abweichend von PUBLIC_URL
|
||||
# HONEYOS_BUTTON_LABEL=Anmelden mit PocketID
|
||||
# HONEYOS_ALLOWED_USERS=marc # zweiter Riegel neben den IdP-Gruppen
|
||||
|
||||
# Beschriftung des einen Knopfes auf dem Anmeldeschirm.
|
||||
HONEYOS_BUTTON_LABEL=Anmelden mit PocketID
|
||||
# ── Schlüssel für die App-Liste ──────────────────────────────────────────────
|
||||
# Nötig, sobald die Leiste in einer App läuft, die auf einer ANDEREN Site liegt
|
||||
# als HoneyOS — etwa honeyos.duckdns.org gegenüber cloud.honeyy.duckdns.org.
|
||||
# Der Browser schickt die Sitzung dann nicht mit, und ohne zweiten Ausweis
|
||||
# bekäme die Leiste nie eine Liste.
|
||||
#
|
||||
# Ist der Pfad /api/apps im Proxy von der Anmeldung befreit, ist dieser
|
||||
# Schlüssel das Einzige, was davorsteht. Dann setzen.
|
||||
# openssl rand -hex 16
|
||||
HONEYOS_APPS_KEY=
|
||||
|
||||
# Zweiter Riegel neben den Gruppen in PocketID: nur diese Konten dürfen rein
|
||||
# (Benutzername oder sub, kommagetrennt). Leer = jeder, den der Anbieter
|
||||
# durchlässt.
|
||||
# HONEYOS_ALLOWED_USERS=marc
|
||||
# Derselbe Wert gehört in das <script>-Tag der App:
|
||||
# <script defer src="https://honeyos.duckdns.org/honeybar/honeybar.js"
|
||||
# data-app="aether" data-key="…"></script>
|
||||
#
|
||||
# Zusätzlich lässt HoneyOS die Liste nur an Ursprünge heraus, die selbst als App
|
||||
# eingetragen sind. Der Schlüssel allein nützt einer fremden Seite also nichts.
|
||||
Reference in new issue
Block a user