fix(agent-auth): log malformed token shape once for schema-break diagnosis

This commit is contained in:
ZacharyZhang-NY committed 2026-04-16 23:02:58 -04:00
1 parent d4c0d0a6bc
commit 7100c0bed6
1 file changed
+14 -1
+14 -1
View File
@@ -5,6 +5,17 @@ import { join } from "node:path";
let signingKey: Buffer | null = null;
const TOKEN_TTL_MS = 48 * 60 * 60 * 1000; // 48 hours
// Once-per-process warning when a malformed token shape is seen. Helps
// diagnose schema breaks after upgrades — without leaking the full token.
let loggedMalformedTokenWarning = false;
function warnMalformedTokenOnce(token: string, reason: string) {
if (loggedMalformedTokenWarning) return;
loggedMalformedTokenWarning = true;
const fingerprint = token.slice(0, 8);
console.warn(`[agent-auth] token shape invalid (${reason}); first8="${fingerprint}..."`);
}
interface TokenPayload {
agentId: string;
companyId: string;
@@ -43,7 +54,9 @@ function verify(token: string): TokenPayload | null {
const payload = JSON.parse(Buffer.from(body, "base64url").toString()) as TokenPayload;
if (Date.now() > payload.exp) return null;
return payload;
} catch {
} catch (error) {
const reason = error instanceof Error ? error.message : String(error);
warnMalformedTokenOnce(token, reason);
return null;
}
}