UNPKG

jose

Version:

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

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