first commit
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
// ═══════════════════════════════════════════════════════
|
||||
// JWT Decoder
|
||||
// ═══════════════════════════════════════════════════════
|
||||
async function decodeJWT() {
|
||||
const token = document.getElementById('jwtInput').value.trim();
|
||||
if (!token) return setStatus('jwtStatus','error','Paste a JWT.');
|
||||
const d = await apiPost('/api/jwt/decode', { token });
|
||||
if (d.success) {
|
||||
const expStr = d.expired === null ? '—' : d.expired ? '<span style="color:var(--red)">EXPIRED ✗</span>' : '<span style="color:var(--green)">VALID ✓</span>';
|
||||
document.getElementById('jwtResults').innerHTML = `
|
||||
<div class="result-card">
|
||||
<div class="panel-label">Header</div>
|
||||
<pre style="background:var(--bg-input);padding:12px;border-radius:var(--radius-sm);font-size:0.82rem;color:var(--cyan);overflow-x:auto;">${JSON.stringify(d.header, null, 2)}</pre>
|
||||
<div class="panel-label" style="margin-top:14px;">Payload</div>
|
||||
<pre style="background:var(--bg-input);padding:12px;border-radius:var(--radius-sm);font-size:0.82rem;color:var(--green);overflow-x:auto;">${JSON.stringify(d.payload, null, 2)}</pre>
|
||||
<div class="panel-label" style="margin-top:14px;">Expiry</div>
|
||||
<div style="font-size:0.9rem;">${expStr}</div>
|
||||
</div>`;
|
||||
setStatus('jwtStatus','success','Decoded ✓');
|
||||
} else setStatus('jwtStatus','error', d.error);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user