vyvoj-dash

Session #8

Otevřená
18. 5. 2026
main c941a6d Sprint audit: 001-auth-foundation

Celkem

13

OK

1

Bug

1

Čeká

11

Oblasti:
logic (6)
security (4)
tests (2)
layout (1)

Přidat položku

Kategorie
Filtr:
Oblast:

Homepage ukazuje tlačítka Registrace a Přihlášení pro nepřihlášené, nebo Pokračovat na účet (e-mail) pro přihlášené.

layout
OK

Registrace: vyplň nový e-mail + heslo (min 8 znaků) → přesměrování na /account, vidíš svůj e-mail.

logic
Čeká

Registrace s existujícím e-mailem: redirect zpět na /signup s hláškou „Účet s tímto e-mailem už existuje.".

logic
Čeká

Login se správnými údaji: redirect na /account; se špatnými údaji: redirect zpět na /login s hláškou „Nesprávný e-mail nebo heslo.".

logic
Čeká

Login: stejná hláška pro neexistující e-mail i pro špatné heslo (záměrné anti-enumeration).

security
Čeká

/account bez přihlášení → automatický redirect na /login.

logic
Čeká

Odhlášení tlačítkem na /account: redirect na /, session cookie smazaná, /account už nepřístupný.

logic
Čeká

Cookie atributy v DevTools → Application → Cookies: HttpOnly, SameSite=Lax, Secure (jen v produkci s HTTPS).

security
Čeká

D1 migrace na remote: před prvním ostrým testem spustit pnpm wrangler d1 migrations apply DB --remote — bez toho /signup spadne na chybějící tabulce users.

tests
Bug

Timing oracle při loginu: login s neexistujícím e-mailem vrátí response výrazně rychleji než login s existujícím e-mailem a špatným heslem (PBKDF2 verify běží jen u existujícího usera). Tracked pro Sprint 002 hardening.

security
Čeká

CSRF: endpointy /api/auth/{signup,login,logout} nemají CSRF token. SameSite=Lax mitiguje top-frame cross-origin POST, ale není explicit obrana. Tracked pro Sprint 002.

security
Čeká

Žádné unit testy pro password.verify, sessionCookie.parse a schema decode. Doporučuju HF v Sprint 001 nebo první run v Sprint 002.

tests
Čeká

Session TTL inkonzistence: změna env SESSION_TTL_DAYS změní cookie maxAge, ale DB session.expiresAt zůstává hardcoded 30 dní. Tracked pro Sprint 002.

logic
Čeká