feat(auth): add POST /login with Playwright automation and SQLite session storage

- automates file-key login on the ID portal using Playwright/Chromium
- captures token, cookies, and localStorage after successful redirect
- stores session data in SQLite via TypeORM (better-sqlite3)
- sessions are keyed by sessionName (auto-generated UUID if not provided)
- login URL, cabinet redirect URL, keys dir, and DB path are all configurable via env
This commit is contained in:
2026-04-07 12:07:13 +03:00
parent 70f016d113
commit 41dbddd2a1
12 changed files with 1478 additions and 22 deletions
+6 -1
View File
@@ -18,14 +18,19 @@
"@nestjs/core": "^11.1.18",
"@nestjs/platform-express": "^11.1.18",
"@nestjs/swagger": "^11.2.6",
"@nestjs/typeorm": "^11.0.1",
"better-sqlite3": "^12.8.0",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.4",
"playwright": "^1.59.1",
"reflect-metadata": "^0.2.2",
"rxjs": "^7.8.2",
"swagger-ui-express": "^5.0.1"
"swagger-ui-express": "^5.0.1",
"typeorm": "^0.3.28"
},
"devDependencies": {
"@nestjs/cli": "^11.0.17",
"@types/better-sqlite3": "^7.6.13",
"@types/node": "^25.5.2",
"typescript": "^6.0.2"
}