Fix backend TS: npub decode type guard for login-npub
Made-with: Cursor
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user