UNPKG

jose

Version:

JWA, JWS, JWE, JWT, JWK, JWKS for Node.js, Browser, Cloudflare Workers, Deno, Bun, and other Web-interoperable runtimes

20 lines (19 loc) • 771 B
import { parseJoseHeader } from "../lib/validate.js"; function decodeProtectedHeader(token) { let encodedProtectedHeader; if (typeof token == "string") { const parts = token.split("."); (parts.length === 3 || parts.length === 5) && ([encodedProtectedHeader] = parts); } else if (typeof token == "object" && token) if ("protected" in token) encodedProtectedHeader = token.protected; else throw new TypeError("Token does not contain a Protected Header"); const invalid = "Invalid Token or Protected Header formatting"; if (typeof encodedProtectedHeader != "string" || !encodedProtectedHeader) throw new TypeError(invalid); return parseJoseHeader(encodedProtectedHeader, TypeError, invalid); } export { decodeProtectedHeader };