MCPcopy Create free account
hub / github.com/boringstack-xyz/boringstack / parseAuthJWTPayload

Function parseAuthJWTPayload

apps/api/src/lib/jwt/jwt-payload.ts:3–28  ·  view source on GitHub ↗
(raw: unknown)

Source from the content-addressed store, hash-verified

1import type { AuthJWTPayloadResult } from "./jwt-payload.types";
2
3export const parseAuthJWTPayload = (raw: unknown): AuthJWTPayloadResult => {
4 if (raw === false || typeof raw !== "object" || raw === null) {
5 return { kind: "invalid" };
6 }
7
8 if (!("id" in raw) || !("aid" in raw)) {
9 return { kind: "invalid" };
10 }
11
12 const { id, aid } = raw;
13
14 if (typeof id !== "string" || typeof aid !== "string") {
15 return { kind: "invalid" };
16 }
17
18 const jti =
19 "jti" in raw && typeof raw.jti === "string" && raw.jti !== ""
20 ? raw.jti
21 : null;
22 const issuedAt =
23 "iat" in raw && typeof raw.iat === "number" && Number.isFinite(raw.iat)
24 ? raw.iat
25 : null;
26
27 return { kind: "ok", userId: id, accountId: aid, jti, issuedAt };
28};

Callers 3

auth.routes.tsFile · 0.90
verifyAuthCookieFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected