Files
ipwhitelist-app/package.json
T
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

23 lines
525 B
JSON

{
"name": "ipwhitelist",
"version": "0.1.0",
"description": "IP WhiteList microservice for cloud provider",
"main": "server.js",
"scripts": {
"start": "node server.js",
"dev": "node --watch server.js"
},
"dependencies": {
"cookie-parser": "^1.4.7",
"csrf-csrf": "^4.0.3",
"dotenv": "^16.4.7",
"ejs": "^3.1.10",
"express": "^4.21.1",
"express-rate-limit": "^8.5.2",
"express-session": "^1.19.0",
"helmet": "^8.2.0",
"jsonwebtoken": "^9.0.3",
"pg": "^8.13.1"
}
}