From a39f97f3b4ce64cd3a97a6a2841bc76f4fd9ecce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Tue, 9 Jun 2026 21:56:45 +0400 Subject: [PATCH] =?UTF-8?q?bump=200.5.29=20=E2=80=94=20add=20KC=5FBASE=5FU?= =?UTF-8?q?RL=20to=20exchange=20error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/routes/oidc.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 9ac6f68..f039df6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ipwhitelist", - "version": "0.5.28", + "version": "0.5.29", "description": "IP WhiteList microservice for cloud provider", "main": "server.js", "scripts": { diff --git a/src/routes/oidc.js b/src/routes/oidc.js index 49986db..41de05b 100644 --- a/src/routes/oidc.js +++ b/src/routes/oidc.js @@ -48,7 +48,9 @@ function createRouter({ auth, doubleCsrfProtection, generateCsrfToken, authLimit try { // Обмен code на токен (через IAM / Keycloak) - const tokenData = await auth.exchangeCode(code); + const tokenData = await auth.exchangeCode(code).catch(e => { + 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; if (!accessToken) throw new Error('No access_token in response');