Kopfleiste: Steckplatz "benutzer" im Benutzer-Menü und Ereignis hi-abmelden
Tools können eigene Einträge ins Benutzer-Menü stellen (auch ohne Portal-Sitzung) und beim Abmelden ihre eigene Sitzung mit beenden. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
a3c974c219
commit
2f7184a8fd
2 files changed
+77
-6
No files matched your search
@@ -61,6 +61,21 @@ Eigene Icons können in Authentik hochgeladen werden, sonst nimmt das Portal sei
|
||||
document.querySelector('hi-topbar')?.append(btn);
|
||||
```
|
||||
|
||||
- **Eigene Einträge im Benutzer-Menü** (z.B. „Meine Einstellungen“, Sitzungsanzeige) mit `slot="benutzer"`. Sie stehen zwischen Name/E-Mail und den Links. Stellt ein Tool dort etwas ein, erscheint das Benutzer-Menü auch ohne Portal-Sitzung (dann mit Personen-Symbol statt Initialen), etwa nach einer Anmeldung im Tool ohne SSO. Klickt man auf einen Link darin, schließt sich das Menü.
|
||||
|
||||
### Abmelden aus dem Tool heraus
|
||||
|
||||
Vor dem Abmelden feuert die Leiste das Ereignis `hi-abmelden` (bubbles, composed, cancelable). Das Tool beendet darin seine eigene Sitzung, so gibt es genau ein „Abmelden“:
|
||||
|
||||
```js
|
||||
document.addEventListener('hi-abmelden', (e) => {
|
||||
// Leiste wartet auf das Promise, höchstens 3 Sekunden
|
||||
e.detail.warten(fetch('/api/logout', { method: 'POST', credentials: 'include' }));
|
||||
});
|
||||
```
|
||||
|
||||
Danach geht es zum Abmelden bei Portal und Authentik. Ohne Portal-Sitzung lädt die Leiste stattdessen die Seite neu, dann zeigt das Tool seine eigene Anmeldung. Mit `e.preventDefault()` übernimmt das Tool die Weiterleitung komplett selbst.
|
||||
|
||||
**Content-Security-Policy des Tools erweitern** (sonst blockiert der Browser die Leiste):
|
||||
|
||||
```
|
||||
|
||||
Reference in new issue
Block a user