feat(astroklient-demo): własny klucz podpisu sesji (LOG-34)

SESSION_SECRET w sekrecie astrololo-demo — WŁASNY, nie ten z pełnej aplikacji:
demo i produkcja nie mają powodu uznawać nawzajem swoich sesji.

W runbooku zapisana różnica wobec pełnej wersji: demo nie ma własnego wolumenu,
więc nie ma licznika sesji. Zdalne unieważnienie robi się przez DEMO_USERS —
usunięcie konta albo zmiana hasła natychmiast ubija jego otwarte sesje.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-21 00:21:52 +02:00
parent a9ff6e1f68
commit 7e0a51878e
2 changed files with 19 additions and 1 deletions
+12 -1
View File
@@ -86,9 +86,20 @@ python scripts/make_user.py klientB
```bash
kubectl -n astrololo create secret generic astrololo-demo \
--from-literal=DEMO_USERS='klientA:scrypt$…,klientB:scrypt$…'
--from-literal=DEMO_USERS='klientA:scrypt$…,klientB:scrypt$…' \
--from-literal=SESSION_SECRET="$(openssl rand -hex 32)"
```
`SESSION_SECRET` podpisuje ciasteczka sesji (LOG-34). **Pod bez niego celowo nie
wstanie.** Jest WŁASNY, nie ten z pełnej aplikacji: demo i produkcja nie mają
powodu uznawać nawzajem swoich sesji.
> **Zdalne unieważnienie w demo działa inaczej niż w pełnej wersji.** Demo nie ma
> własnego wolumenu, więc nie ma gdzie trzymać licznika sesji. Zamiast tego:
> usunięcie konta z `DEMO_USERS` albo zmiana jego hasła **natychmiast ubija jego
> otwarte sesje** — bo odcisk poświadczenia wpisany w ciasteczko przestaje pasować.
> Rotacja `SESSION_SECRET` wylogowuje wszystkich naraz.
### Dodanie konta później
```bash