docs: add form-login rollout notes

This commit is contained in:
u1
2026-01-06 16:20:37 +01:00
parent 51fe7c4d90
commit 93a6e4aa2f

View File

@@ -271,3 +271,20 @@ Uwaga: **nie zapisuję sekretów** (hasła, tokeny, prywatne klucze) jeśli
- `trade/trade-infra`: bump submodules `deploy` + `frontend` (commit `2e570b2`) i push do Gitea.
- Weryfikacja na VPS (k3s): `Deployment/trade-frontend` używa `rv32i.pl/trade/trade-frontend:sha-77122e0`, pod `Running`.
- Uwaga: MCP SSH timeoutował; weryfikację wykonano po zwykłym `ssh` z naszym kluczem (bez logowania sekretów).
### Auth: formularz logowania zamiast popup (session cookie)
- Cel: zastąpić przeglądarkowy popup HTTP BasicAuth normalną formatką logowania w aplikacji.
- `trade-frontend` (commit `e20a1f5`, obraz `rv32i.pl/trade/trade-frontend:sha-e20a1f5`):
- dodano sesję `HttpOnly` cookie + endpointy `POST /auth/login` i `POST /auth/logout` (`GET /logout` = redirect),
- `POST /auth/login` weryfikuje usera po `htpasswd` (binarka `htpasswd` w obrazie; plik z K8s secret),
- `/api/*` jest blokowane bez zalogowania (401 JSON, bez `WWW-Authenticate`, więc bez popupu),
- UI pokazuje ekran logowania, dopóki `GET /whoami` nie zwróci usera.
- GitOps (`trade/trade-deploy`):
- bump obrazu do `sha-e20a1f5` (commit `f949a72`),
- usunięto middleware Traefik `basicAuth` z `Ingress/trade-frontend` i wdrożono auth na poziomie aplikacji (commit `e7d4d40`),
- `Deployment/trade-frontend` montuje sekrety:
- `trade-staging/Secret/trade-basic-auth``/auth/users` (htpasswd),
- `trade-staging/Secret/trade-session-secret``/auth/session-secret` (HMAC do podpisu sesji; wartość nie logowana).
- VPS (k3s):
- utworzono `trade-staging/Secret/trade-session-secret` bez commitowania do gita (wartość wygenerowana losowo, nie logowana),
- weryfikacja: `https://trade.rv32i.pl/` = `200` bez popupu; `https://trade.rv32i.pl/api/...` = `401` bez zalogowania; `POST /auth/login` działa (401 dla złych danych).