From 4865fc47f878f4be1e1e5f7c3b64cbafc8d81073 Mon Sep 17 00:00:00 2001 From: Marc Date: Mon, 24 Aug 2026 12:04:55 +0200 Subject: [PATCH] docs(office): OFFICE_JWT_SECRET fehlte in beiden .env.example MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die README-Schnipsel fuer OnlyOffice und Euro-Office verlangen OFFICE_JWT_SECRET, in den Beispieldateien stand es nicht – Compose warnt dann nur 'variable is not set' und der Dokumentenserver laeuft mit leerem Geheimnis. Dazu praeziser, wo es bei OnlyOffice/Euro-Office nach Aktenlage haken wuerde: IP-Filter des Integrators und Proof-Key-Signatur. Beides ungeprueft, aber besser benannt als verschwiegen. Co-Authored-By: Claude Opus 5 --- .env.example | 3 +++ README.md | 15 +++++++++++++++ deploy/.env.example | 3 +++ 3 files changed, 21 insertions(+) diff --git a/.env.example b/.env.example index 3e903d8..110176e 100644 --- a/.env.example +++ b/.env.example @@ -64,3 +64,6 @@ OFFICE_PUBLIC_URL=https://office.example.com OFFICE_WOPI_URL=http://app:8080 # Gegen SSRF: was das Backend anfragen darf. OFFICE_ALLOWED_HOSTS=office +# Nur fuer OnlyOffice/Euro-Office: gemeinsames Geheimnis, mind. 32 Zeichen. +# openssl rand -hex 32 – Collabora braucht es nicht. +OFFICE_JWT_SECRET= diff --git a/README.md b/README.md index b504138..e33d465 100644 --- a/README.md +++ b/README.md @@ -538,6 +538,21 @@ Abbild. > Speichern eingeschlossen. Die beiden anderen Schnipsel stehen nach ihrer > Dokumentation und dem gemeinsamen WOPI-Weg, sind auf dieser Anlage aber nie > gelaufen – für OnlyOffice fehlt schlicht der Arbeitsspeicher. +> +> Wenn der Editor dort leer bleibt, sind das die zwei Stellen, an denen es +> nach Aktenlage hakt: +> +> 1. **Der IP-Filter.** OnlyOffice nimmt WOPI-Anfragen nur von einem +> „vertrauenswürdigen Integrator" an; dessen Adresse muss in seiner +> Positivliste stehen. Bei Collabora heißt dasselbe `aliasgroup1`. +> 2. **Der Proof-Key.** OnlyOffice signiert seine WOPI-Anfragen und legt den +> öffentlichen Schlüssel als `proof-key` in die Discovery. Wir prüfen die +> Signatur **nicht** – erlaubt, aber falls es dort eine Pflicht gibt, wäre +> das der Ort. +> +> `JWT_SECRET` betrifft nach der Dokumentation die eigene API des +> Dokumentenservers, nicht den WOPI-Weg – unser Adapter signiert damit nichts. +> Der Schlüssel gehört trotzdem gesetzt, sonst läuft der Server offen. ### Welche Dateien, und wie gut diff --git a/deploy/.env.example b/deploy/.env.example index 11cca25..5668d2c 100644 --- a/deploy/.env.example +++ b/deploy/.env.example @@ -80,6 +80,9 @@ OFFICE_PUBLIC_URL= # Browser → Office; leer = wie OFFICE_URL # NICHT localhost, NICHT der veröffentlichte Port – beides scheitert. OFFICE_WOPI_URL= OFFICE_ALLOWED_HOSTS= # gegen SSRF; Host aus OFFICE_URL zählt immer +# Nur fuer OnlyOffice/Euro-Office: gemeinsames Geheimnis, mind. 32 Zeichen. +# openssl rand -hex 32 – Collabora braucht es nicht. +OFFICE_JWT_SECRET= OFFICE_INSECURE_TLS=false # nur für Tests mit selbstsigniertem Zertifikat # Nur für den Collabora-Container aus deploy/docker-compose.yml: