diff --git a/server.js b/server.js index 0ad67d0..50a7284 100644 --- a/server.js +++ b/server.js @@ -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-Ρ€Π΅ΠΆΠΈΠΌΠ΅)