- 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
23 lines
525 B
JSON
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"
|
|
}
|
|
}
|