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
This commit is contained in:
+4
-1
@@ -73,7 +73,10 @@
|
||||
|
||||
<div class="note">
|
||||
В реальном продакшене здесь будет редирект на Keycloak.<br>
|
||||
После входа JWT сохраняется в httpOnly cookie — middleware проверяет подпись RS256.
|
||||
После входа пользователь сохраняется в session middleware.
|
||||
<% if (devLoginUrl) { %>
|
||||
<br><a href="<%= devLoginUrl %>" style="color:inherit">Тестовый вход (dev-backdoor) →</a>
|
||||
<% } %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user