Systemmenue im Logo, in beiden Leisten
Das ■ HONEYOS ist jetzt ein Menue statt eines Links: Schreibtisch, Einstellungen, HoneyBar einklappen, Abmelden. In fremden Apps sind es Links auf den Schreibtisch (?einstellungen=1 / ?abmelden=1), weil die HoneyBar dort nicht schreiben darf — Sitzung und CSRF-Pruefwort ueber- leben die Site-Grenze nicht, und ein Abmelden per Aufruf koennte jede Seite ausloesen. Der Abmeldeknopf in der Menueleiste faellt weg (stand doppelt), und Abmelden erscheint nur, wenn HoneyOS ueberhaupt anmeldet — dafuer gibt /api/apps jetzt oidc mit heraus. Nebenbei: restliche 'Leiste' im Text zu 'HoneyBar' vereinheitlicht.
This commit is contained in:
1 parent
52deffa30e
commit
0a5cd94ba0
12 files changed
+244
-51
No files matched your search
@@ -386,12 +386,41 @@ nur, wessen App selbst eine schickt.
|
||||
- **Andere Proxys:** Caddy braucht ein Zusatzmodul (`replace-response`),
|
||||
Traefik ein Plugin für den Antwortkörper. nginx kann es ohne Erweiterung.
|
||||
|
||||
## Das Systemmenü im Logo
|
||||
|
||||
Das `■ HONEYOS` links ist ein Menü — auf dem Schreibtisch wie in jeder App:
|
||||
|
||||
| in der HoneyBar (fremde App) | auf dem Schreibtisch |
|
||||
|---|---|
|
||||
| Schreibtisch | Über HoneyOS |
|
||||
| Einstellungen … | Einstellungen |
|
||||
| HoneyBar einklappen | Terminal-/Desktop-Modus |
|
||||
| Abmelden | Abmelden |
|
||||
|
||||
Rechts daneben bleibt der Pfeil mit den Apps. Eines auf heißt anderes zu.
|
||||
|
||||
**In den Apps sind es Links auf den Schreibtisch, keine Handlungen** — und das
|
||||
ist eine Grenze, keine Bequemlichkeit. Einstellungen und Abmelden schreiben, und
|
||||
dafür braucht der Server die HoneyOS-Sitzung: Aus einer fremden Site schickt der
|
||||
Browser sie nicht mit, und selbst unter einer Domain liegt das CSRF-Prüfwort in
|
||||
einem Cookie, das nur HoneyOS' eigene Seiten lesen dürfen. Ein Abmelden, das ein
|
||||
einfacher Aufruf erledigt, könnte außerdem jede beliebige Seite auslösen.
|
||||
|
||||
Also stellt die HoneyBar die Frage in der Adresse (`?einstellungen=1`,
|
||||
`?abmelden=1`), und der Schreibtisch beantwortet sie: Er macht dasselbe
|
||||
Einstellungsfeld auf, das auch `[S]` öffnet, und meldet mit einem echten POST
|
||||
ab. Danach nimmt er den Anhang aus der Adresse wieder heraus.
|
||||
|
||||
`Abmelden` steht nur da, wenn HoneyOS überhaupt anmeldet — im offenen Betrieb
|
||||
oder hinter einem Proxy fehlt der Punkt. Deshalb gibt `/api/apps` neben Liste
|
||||
und Aussehen auch `oidc` heraus.
|
||||
|
||||
## Wer angemeldet ist
|
||||
|
||||
Steht auf dem Schreibtisch, als eigenes Widget: Bild, Name und Begrüßung, aus
|
||||
der HoneyOS-Anmeldung. In den Apps steht es **nicht** — die HoneyBar dort trägt
|
||||
genau dasselbe wie die Menüleiste hier, sonst merkt man beim Wechsel, dass es
|
||||
zwei verschiedene Leisten sind.
|
||||
zwei verschiedene HoneyBars sind.
|
||||
|
||||
Früher konnte jede App einen „Wer-bin-ich"-Pfad und einen Token-Schlüssel
|
||||
mitbringen; die HoneyBar fragte damit die App nach dem Anzeigenamen. Beides ist
|
||||
|
||||
Reference in new issue
Block a user