v0.5.171: IAM debug страницы только для canAdmin

This commit is contained in:
2026-06-22 18:25:12 +04:00
parent 4c764eb794
commit ff1f195a2d
3 changed files with 17 additions and 13 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "ipwhitelist", "name": "ipwhitelist",
"version": "0.5.170", "version": "0.5.171",
"description": "IP WhiteList microservice for cloud provider", "description": "IP WhiteList microservice for cloud provider",
"main": "server.js", "main": "server.js",
"scripts": { "scripts": {
+15 -11
View File
@@ -43,15 +43,16 @@ function createV2Router() {
res.redirect('/login?returnTo=' + encodeURIComponent('/v2/app')); res.redirect('/login?returnTo=' + encodeURIComponent('/v2/app'));
}); });
// ── GET /v2/iam — отладка: показать IAM-данные из сессии ──────────── // ── GET /v2/iam — отладка: IAM-данные из сессии (только админ) ────
router.get('/iam', (req, res) => { router.get('/iam', resolveContext, (req, res) => {
if (!req.canAdmin) return res.status(403).send('Доступ запрещён');
const u = req.session && req.session.user; const u = req.session && req.session.user;
if (!u) return res.redirect('/v2/login');
res.send(debugPage(u, config.version)); res.send(debugPage(u, config.version));
}); });
// ── GET /v2/iam_response — сырой ответ IAM ───────────────────────── // ── GET /v2/iam_response — сырой ответ IAM (только админ) ─────────
router.get('/iam_response', async (req, res) => { router.get('/iam_response', resolveContext, async (req, res) => {
if (!req.canAdmin) return res.status(403).send('Доступ запрещён');
const token = req.session && req.session.token; const token = req.session && req.session.token;
if (!token) return res.redirect('/v2/login'); if (!token) return res.redirect('/v2/login');
try { try {
@@ -64,8 +65,9 @@ function createV2Router() {
} }
}); });
// ── GET /v2/iam_response_test — IAM test стенд ────────────────────── // ── GET /v2/iam_response_test — IAM test стенд (только админ) ─────
router.get('/iam_response_test', async (req, res) => { router.get('/iam_response_test', resolveContext, async (req, res) => {
if (!req.canAdmin) return res.status(403).send('Доступ запрещён');
const token = req.session && req.session.token; const token = req.session && req.session.token;
if (!token) return res.redirect('/v2/login'); if (!token) return res.redirect('/v2/login');
try { try {
@@ -77,8 +79,9 @@ function createV2Router() {
} }
}); });
// ── GET /v2/iam_response_dev — IAM dev стенд ──────────────────────── // ── GET /v2/iam_response_dev — IAM dev стенд (только админ) ───────
router.get('/iam_response_dev', async (req, res) => { router.get('/iam_response_dev', resolveContext, async (req, res) => {
if (!req.canAdmin) return res.status(403).send('Доступ запрещён');
const token = req.session && req.session.token; const token = req.session && req.session.token;
if (!token) return res.redirect('/v2/login'); if (!token) return res.redirect('/v2/login');
try { try {
@@ -90,8 +93,9 @@ function createV2Router() {
} }
}); });
// ── GET /v2/iam-gateway-test — сравнение auth-api vs lk-api-gateway ── // ── GET /v2/iam-gateway-test — сравнение API (только админ) ────────
router.get('/iam-gateway-test', async (req, res) => { router.get('/iam-gateway-test', resolveContext, async (req, res) => {
if (!req.canAdmin) return res.status(403).send('Доступ запрещён');
const token = req.session && req.session.token; const token = req.session && req.session.token;
if (!token) return res.redirect('/v2/login'); if (!token) return res.redirect('/v2/login');
+1 -1
View File
@@ -8,7 +8,7 @@
// ═══════════════════════════════════════════════════════════════════════════════ // ═══════════════════════════════════════════════════════════════════════════════
module.exports = { module.exports = {
version: '0.5.170', version: '0.5.171',
// ── IAM ────────────────────────────────────────────────────────────────── // ── IAM ──────────────────────────────────────────────────────────────────
iamUrl: process.env.V2_IAM_URL || 'https://auth-api.ngcloud.ru/api/v1/auth/user', iamUrl: process.env.V2_IAM_URL || 'https://auth-api.ngcloud.ru/api/v1/auth/user',