Fix backend TS: npub decode type guard for login-npub

Made-with: Cursor
This commit is contained in:
Michaël
2026-02-27 17:58:15 -03:00
parent 9fff2d427f
commit 184732c2a5

View File

@@ -20,12 +20,12 @@ router.post("/login-npub", (req: Request, res: Response) => {
return; return;
} }
try { try {
const decoded = nip19.decode(raw); const decoded = nip19.decode(raw) as { type: string; data: unknown };
if (decoded.type !== "npub") { if (decoded.type !== "npub" || typeof decoded.data !== "string") {
res.status(400).json({ code: "invalid_npub", message: "Expected an npub-encoded public key." }); res.status(400).json({ code: "invalid_npub", message: "Expected an npub-encoded public key." });
return; return;
} }
const pubkey = decoded.data as string; const pubkey = decoded.data;
const token = signJwt(pubkey, "npub"); const token = signJwt(pubkey, "npub");
res.json({ token, pubkey, method: "npub" }); res.json({ token, pubkey, method: "npub" });
} catch { } catch {