refactor(office): toten JWT-Schlüssel entfernen, Doku richtigstellen

Beim Löschen von convert.go ist Aethers einzige Verwendung des JWT-Schlüssels
mitgegangen: signJWT stand dort. Zurück blieb ein Feld auf dem Client, das
niemand liest, plus Config-Eintrag und Aufrufparameter – Go meldet ungenutzte
Strukturfelder nicht, deshalb lief der Build durch. Eine Einstellung, die
nichts mehr tut, ist schlimmer als keine: Wer sie setzt, glaubt, sie wirke.

OFFICE_JWT_SECRET bleibt in der .env, wird aber vom **Office-Container**
gelesen, nicht von Aether. Geprüft mit Euro-Office: JWT_ENABLED=true und
Aether ohne jedes Signieren – der WOPI-Weg läuft.

Doku richtiggestellt, nachdem Marc den Compose-Schnipsel angezweifelt hat:

- „Euro-Office ist hier nie gelaufen" stimmte nicht mehr. Jetzt steht da, was
  tatsächlich geprüft ist (Abbild, Start, Discovery, CheckFileInfo, Ausliefern,
  mobileEdit) und was nicht: PutFile, also das Zurückschreiben.
- Der Absatz zu /ConvertService.ashx beschrieb gelöschten Code.
- OFFICE_PUBLIC_URL: die Falle benannt, die einen Tag gekostet hat. Stand dort
  localhost, lief alles am Docker-Rechner und blieb am Telefon schwarz – dort
  ist localhost das Telefon. Ohne Fehlermeldung.
- Zur Portbindung: Die Office-Schnipsel binden auf 0.0.0.0, anders als Aether
  selbst. Das ist nötig, weil der Browser direkt hin muss – steht jetzt dabei,
  samt dem sauberen Weg über einen Reverse Proxy.

Geprüft: go build/vet sauber, alle 234 Prüfungen der sieben Selbsttest-Suiten
grün.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
marcandClaude Opus 5 committed 2026-09-16 23:10:17 +02:00
1 parent 944b2c63e2
commit 7d45941c03
5 files changed
+48 -64

No files matched your search

+9 -2
View File
@@ -117,14 +117,21 @@ OIDC_BUTTON_LABEL=Sign in with SSO / OIDC
# sonst verweigert der Browser den Rahmen.
OFFICE_PROVIDER=onlyoffice # collabora | onlyoffice (auch Euro-Office)
OFFICE_URL=http://office # Backend → Office (Collabora: :9980)
# Browser → Office
# Browser → Office. **Muss eine Adresse sein, die der Browser auflösen kann**
# – deine Domain oder die LAN-IP, niemals "localhost" und nie der interne
# Dienstname. Sonst lädt der Editor am Rechner mit Docker und bleibt auf jedem
# anderen Gerät schwarz, ohne Fehlermeldung. Leer = wie OFFICE_URL, und das
# ist fast immer falsch.
OFFICE_PUBLIC_URL=
OFFICE_WOPI_URL=http://app:8080 # Office → Aether
OFFICE_ALLOWED_HOSTS=office # gegen SSRF
# Nur für ein Office mit selbstsigniertem Zertifikat im eigenen Netz. Schaltet
# die Zertifikatsprüfung **ab** – im Internet nichts zu suchen.
OFFICE_INSECURE_TLS=false
# nur OnlyOffice, openssl rand -hex 32
# Liest **der Office-Container**, nicht Aether: Es schützt seine eigene API.
# Der WOPI-Weg braucht es nicht, der hat eigene Token. Bei OnlyOffice und
# Euro-Office mit JWT_ENABLED=true gehört es gesetzt, sonst steht deren API
# offen. Collabora kennt es nicht. openssl rand -hex 32
OFFICE_JWT_SECRET=
# ══ Volltextsuche (OCR) ═══════════════════════════════════════════════════════