bump 0.5.30 — restore state check, clean code

This commit is contained in:
2026-06-09 21:59:26 +04:00
parent a39f97f3b4
commit 9b76333b22
2 changed files with 6 additions and 12 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "ipwhitelist", "name": "ipwhitelist",
"version": "0.5.29", "version": "0.5.30",
"description": "IP WhiteList microservice for cloud provider", "description": "IP WhiteList microservice for cloud provider",
"main": "server.js", "main": "server.js",
"scripts": { "scripts": {
+5 -11
View File
@@ -32,15 +32,11 @@ function createRouter({ auth, doubleCsrfProtection, generateCsrfToken, authLimit
router.get('/callback', async (req, res) => { router.get('/callback', async (req, res) => {
const { code, state } = req.query; const { code, state } = req.query;
// ⚠️ ВРЕМЕННО: проверка state отключена для тестирования (2026-06-09)
// 🔮 Вернуть когда заработает SSO на managed
// Проверка state (защита от CSRF на callback) // Проверка state (защита от CSRF на callback)
// if (!state || state !== req.session.oidcState) { if (!state || state !== req.session.oidcState) {
// return res.status(403).send('Invalid state parameter'); return res.status(403).send('Invalid state parameter');
// } }
// delete req.session.oidcState; delete req.session.oidcState;
if (req.session) delete req.session.oidcState;
if (!code) { if (!code) {
return res.status(400).send('Missing authorization code'); return res.status(400).send('Missing authorization code');
@@ -48,9 +44,7 @@ function createRouter({ auth, doubleCsrfProtection, generateCsrfToken, authLimit
try { try {
// Обмен code на токен (через IAM / Keycloak) // Обмен code на токен (через IAM / Keycloak)
const tokenData = await auth.exchangeCode(code).catch(e => { const tokenData = await auth.exchangeCode(code);
throw new Error('Code exchange failed: ' + (e.message || e) + ' [KC_BASE_URL=' + process.env.KC_BASE_URL + ', code=' + (code || '').slice(0, 8) + '...]');
});
const accessToken = tokenData.accessToken; const accessToken = tokenData.accessToken;
if (!accessToken) throw new Error('No access_token in response'); if (!accessToken) throw new Error('No access_token in response');