Commit Graph
132 Commits
Author SHA1 Message Date
naeel 4694b7e8a6 v0.5.11: версия + фикс теста MOCK_USERS.length 3→4 2026-06-02 17:49:07 +03:00
naeel 51a003e078 v0.5.10: /export — attachment default, ?view=1 inline, ?filename=custom 2026-06-02 14:49:50 +03:00
naeel 66a52d9363 v0.5.9: fix tests IDs, revert dotenv abs paths, deploy-vm doc 2026-06-02 14:20:16 +03:00
naeel b91b78ab04 v0.5.8: distinct MOCK_USERS (WZ88888=АЛЬФА, WZ77777=БЕТА) 2026-06-02 11:36:53 +03:00
naeel f1416e6566 v0.5.7: unique company names in MOCK_USERS 2026-06-02 11:32:41 +03:00
naeel ff4b35414c v0.5.6: bump version 2026-06-02 11:30:23 +03:00
naeel 59ad0fa67e v0.5.5: fix export client_id + multi-company tests (section O) 2026-06-02 11:17:23 +03:00
naeel 8ab2271ff9 v0.5.4: fix isolation — resolveUser syncs activeClientId from session 2026-06-02 11:11:20 +03:00
naeel 1b1b3b6bd7 v0.5.3: fix multi-company API isolation (client_id param) 2026-06-02 10:57:52 +03:00
naeel a083f65323 v0.5.2: multi-company, isAdmin fix, appVersion, docs 2026-06-02 10:52:12 +03:00
naeel 0abaa65bf8 fix: preserve form values on error + rename Дата→Добавлена, Изменён→Изменена + bump 0.5.1 2026-05-31 12:48:08 +03:00
naeel a24634199b test: stress tests — concurrency, races, edge cases (32 pass) + bump 0.5.0 2026-05-31 10:10:48 +03:00
naeel ea4551ce13 feat: временный публичный /exp без авторизации (v0.4.9) 2026-05-31 09:03:30 +03:00
naeel 02d842fd73 fix: display dates in Europe/Moscow timezone + bump 0.4.8 2026-05-31 08:13:36 +03:00
naeel 5c286af43b refactor: entries.js — remove 'own' hack, clean admin company routing + bump 0.4.7 2026-05-31 07:25:42 +03:00
naeel a355b34e4a fix: remove duplicate own company option in dropdown + bump 0.4.6 2026-05-31 07:23:25 +03:00
naeel fa67872f30 feat: admin own company option in dropdown + fix company=own routing + bump 0.4.5 2026-05-31 06:57:34 +03:00
naeel c19480336d fix: remove inline JS handlers (onclick/onchange/onsubmit) -> event delegation + bump 0.4.4 2026-05-31 06:26:47 +03:00
naeel a6177c4cef feat: admin auto-redirect to first company on / + bump 0.4.3 2026-05-31 06:15:37 +03:00
naeel 8531a0b545 fix: audit filter onchange restore + bump 0.4.2 2026-05-31 06:04:19 +03:00
naeel 7779bf416a chore: bump version 0.4.0 → 0.4.1 2026-05-30 19:20:00 +03:00
naeel e97c36f19f feat: integration tests CRUD 34/34 (supertest + real DB) 2026-05-30 17:06:42 +03:00
naeel 093b96b9ae fix: CSRF 403 — читать токен из body (_csrf), cookieName без __Host- (v0.4.0) 2026-05-30 16:49:35 +03:00
naeel 0845440f86 chore: bump version to 0.3.0 2026-05-30 16:40:25 +03:00
naeel d96919e68c fix: logo SVG viewBox (0 0 311 69), version in UI footer (v0.2.0) 2026-05-30 15:58:51 +03:00
naeel f4c9983612 feat: PG session store via connect-pg-simple (src/middleware/session.js) 2026-05-30 15:34:50 +03:00
naeel 86ca944c52 feat: Authorization Code Flow (KK) + session middleware + dev-login
- src/auth.js: OIDC mode (KC_CLIENT_ID/KC_CLIENT_SECRET), session-based
  middleware, legacy jwt-cookie migration, httpGet/httpPost без внешних зав.
- src/routes/auth.js: GET /callback (OIDC), GET+POST /dev-login (backdoor),
  session-based login/logout для обоих режимов
- server.js: express-session (8h, httpOnly, sameSite lax), trust proxy в prod
- views/dev-login.ejs: форма с пресетами MOCK_USERS + произвольные поля
- views/login.ejs: ссылка на /dev-login если devLoginEnabled
- tests: +5 тестов (session middleware), 50 PASS / 0 FAIL

Env-переменные:
  KC_CLIENT_ID, KC_CLIENT_SECRET, KC_BASE_URL, APP_URL  — OIDC режим
  SESSION_SECRET                                         — секрет сессии
  DEV_MODE=true                                          — /dev-login без пароля
  DEV_SECRET=xyz                                         — /dev-login с ?key=xyz
2026-05-30 14:37:29 +03:00
naeel 695ed231e6 feat: CSRF защита (double-submit cookie) — все мутирующие POST-роуты, login-форма 2026-05-30 13:28:01 +03:00
naeel 2332827326 feat: helmet (security headers) + rate-limit (30/min mutations, 20/min export) 2026-05-30 13:22:54 +03:00
naeel 2fb4548bf6 fix: auth.js на jsonwebtoken (CJS) вместо jose (ESM) 2026-05-30 08:45:21 +03:00
naeel 28b8e7bd27 feat: мок JWT-аутентификация (RS256, JWKS, cookie)
- src/auth.js: генерация ключей RS256, JWKS endpoint, verify/issue/middleware
- views/login.ejs: мок-страница входа с выбором пользователя
- server.js: cookie-parser, /login, /logout, auth.middleware
- При переключении на прод: JWKS_URL в env → всё остальное без изменений
2026-05-30 08:42:09 +03:00
naeel 814625ef57 feat: каркас Express + pg, health check 2026-05-29 21:56:20 +03:00