v0.5.11: /export публичный (временно, с заделом на Keycloak SSO)
Изменения:
- server.js: публичный GET /export до всей авторизации
🔮 Для Keycloak SSO: раскомментировать auth.bearerMiddleware
- Удалён ошибочно созданный src/routes/exp.js
- Обновлены тесты: /export доступен без авторизации
This commit is contained in:
@@ -76,6 +76,25 @@ async function start() {
|
||||
// JWKS endpoint для валидации токенов внешними сервисами (только в mock-режиме)
|
||||
if (auth.jwksHandler) app.get('/.well-known/jwks.json', auth.jwksHandler);
|
||||
|
||||
// ── /export — публичный (ВРЕМЕННО без авторизации) ───────────────────────
|
||||
// 🔮 КОГДА Keycloak SSO: заменить на app.use('/export', auth.bearerMiddleware, ...)
|
||||
app.get('/export',
|
||||
/* 🔮 auth.bearerMiddleware, */
|
||||
async (req, res) => {
|
||||
try {
|
||||
const cidrs = await q.getExportCIDRs();
|
||||
const text = cidrs.join('\n') + (cidrs.length ? '\n' : '');
|
||||
res.set('Content-Type', 'text/plain; charset=utf-8');
|
||||
const fname = req.query.filename || 'white-list.txt';
|
||||
const disp = req.query.view === '1' ? 'inline' : 'attachment';
|
||||
res.set('Content-Disposition', disp + '; filename="' + fname + '"');
|
||||
res.send(text);
|
||||
} catch (e) {
|
||||
console.error('[export] Error:', e);
|
||||
res.status(500).send('Ошибка экспорта');
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// ── REST API v1 (Bearer JWT, без сессий/CSRF) ─────────────────────────────
|
||||
const { createApiRouter } = require('./src/api/index');
|
||||
|
||||
Reference in New Issue
Block a user