bump 0.5.30 — restore state check, clean code
This commit is contained in:
+1
-1
@@ -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
@@ -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');
|
||||||
|
|||||||
Reference in New Issue
Block a user