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
@@ -213,10 +213,10 @@ func (s *Store) SetSettings(sub string, in map[string]string) error {
|
||||
// SettingsFor liefert das Aussehen für sub — und hilft nach, wenn die Frage
|
||||
// über eine Site-Grenze kam.
|
||||
//
|
||||
// Die Leiste in einer fremden App weist sich nur mit dem Schlüssel aus, nicht
|
||||
// Die HoneyBar in einer fremden App weist sich nur mit dem Schlüssel aus, nicht
|
||||
// mit einer Sitzung: der Browser schickt das Cookie dorthin nicht mit. Sie
|
||||
// landet deshalb beim Standardnutzer. Sind die Einstellungen aber unter einem
|
||||
// Namen aus der Proxy-Kopfzeile gespeichert, wäre der leer — und die Leiste
|
||||
// Namen aus der Proxy-Kopfzeile gespeichert, wäre der leer — und die HoneyBar
|
||||
// bliebe bernsteinfarben, während der Schreibtisch grün leuchtet.
|
||||
//
|
||||
// Gibt es genau einen Nutzer mit Einstellungen, gilt dessen Aussehen. Bei
|
||||
@@ -246,7 +246,7 @@ func (s *Store) SettingsFor(sub string) map[string]string {
|
||||
}
|
||||
|
||||
// AppOrigins nennt die Ursprünge der eingetragenen Apps. Nur sie dürfen die
|
||||
// Leiste mit Anmeldedaten abfragen — die Liste ist damit ihre eigene Freigabe.
|
||||
// HoneyBar mit Anmeldedaten abfragen — die Liste ist damit ihre eigene Freigabe.
|
||||
func (s *Store) AppOrigins() map[string]bool {
|
||||
s.mu.RLock()
|
||||
defer s.mu.RUnlock()
|
||||
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
|
||||
// Wetter kommt vom Server, nicht aus dem Browser.
|
||||
//
|
||||
// Die Leiste läuft auf jeder Seite jeder App. Fragte sie selbst beim
|
||||
// Die HoneyBar läuft auf jeder Seite jeder App. Fragte sie selbst beim
|
||||
// Wetterdienst an, ginge bei jedem Seitenaufruf aus jeder App eine Anfrage samt
|
||||
// IP dorthin — und die CSP jeder App müsste den fremden Ursprung erlauben. Holt
|
||||
// HoneyOS es, sieht der Dienst einen Server, und die Apps bleiben unberührt.
|
||||
|
||||
@@ -52,7 +52,7 @@ func TestWetterKommtAn(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// Der Zwischenspeicher ist der Grund, warum die Leiste auf jeder Seite jeder App
|
||||
// Der Zwischenspeicher ist der Grund, warum die HoneyBar auf jeder Seite jeder App
|
||||
// stehen darf: Ohne ihn ginge bei jedem Seitenaufruf eine Anfrage nach draußen.
|
||||
func TestZweiteFrageGehtNichtNachDraussen(t *testing.T) {
|
||||
var aufrufe int32
|
||||
|
||||
Reference in new issue
Block a user