feat(tradein/auth): password hashing + session config foundation (#2550) #2560

Merged
lekss361 merged 1 commit from feat/tradein-auth-password-foundation into main 2026-07-30 07:04:56 +00:00
Owner

Closes #2550 (эпик #2549, шаг 1/8).

  • bcrypt>=4.2.0 (locked 5.0.0, uv.lock в workspace root tradein-mvp/)
  • app/core/password.py: hash/verify, rounds=12; >72 байт UTF-8 или пустой → ValueError на hash, False на verify (без silent truncation, multibyte учтён)
  • app/core/config.py: session_secret (default "" — намеренно НЕ required, чтобы прод не упал до простановки env; enforcement в #2552), session_cookie_name, session_ttl_hours=720, auth_mode=dual, login_rate_limit*
  • tests/test_password.py: 10 тестов (roundtrip, границы 72 байт, кириллица 80 байт, соль, malformed hash)

uv run pytest tests/test_password.py -q → 10 passed. Роуты/rbac не тронуты (#2552).

Closes #2550 (эпик #2549, шаг 1/8). - `bcrypt>=4.2.0` (locked 5.0.0, uv.lock в workspace root `tradein-mvp/`) - `app/core/password.py`: hash/verify, rounds=12; >72 байт UTF-8 или пустой → ValueError на hash, False на verify (без silent truncation, multibyte учтён) - `app/core/config.py`: `session_secret` (default `""` — намеренно НЕ required, чтобы прод не упал до простановки env; enforcement в #2552), `session_cookie_name`, `session_ttl_hours=720`, `auth_mode=dual`, `login_rate_limit*` - `tests/test_password.py`: 10 тестов (roundtrip, границы 72 байт, кириллица 80 байт, соль, malformed hash) `uv run pytest tests/test_password.py -q` → 10 passed. Роуты/rbac не тронуты (#2552).
lekss361 added 1 commit 2026-07-30 06:41:55 +00:00
feat(tradein/auth): password hashing + session config foundation (#2550)
All checks were successful
CI / changes (pull_request) Successful in 10s
CI Trade-In / changes (pull_request) Successful in 11s
CI / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 1m14s
3f1b86f16a
lekss361 merged commit 876538c57f into main 2026-07-30 07:04:56 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2560
No description provided.