debug: /debug-session shows last audit log entries (impersonated_by)

This commit is contained in:
2026-06-11 20:32:23 +04:00
parent 447acba762
commit 001db2a556
+9 -2
View File
@@ -80,15 +80,22 @@ async function start() {
app.get('/healthz', (req, res) => res.send('OK'));
// 🔧 DEBUG: показать IAM-данные из сессии (убрать после теста!)
app.get('/debug-session', (req, res) => {
app.get('/debug-session', async (req, res) => {
if (!req.session || !req.session.user) return res.json({ error: 'no session' });
const { token, idToken, ...safe } = req.session;
// Последняя запись аудита для проверки impersonated_by
let lastAudit = null;
try {
const { getAudit } = require('./src/queries');
const audit = await getAudit(null);
lastAudit = audit.slice(0, 3);
} catch(e) { lastAudit = 'error: ' + e.message; }
res.json({
user: req.session.user,
hasToken: !!token,
tokenPreview: token ? token.slice(0, 50) + '...' : null,
tokenPayload: token ? (() => { try { const p = JSON.parse(Buffer.from(token.split('.')[1], 'base64url').toString()); return { iss: p.iss, sub: p.sub, email: p.email, ClientID: p.ClientID, iat: p.iat }; } catch(e) { return 'decode error'; } })() : null,
});
lastAudit,
});
// JWKS endpoint для валидации токенов внешними сервисами (только в mock-режиме)