@e280/authlocal
Version:
User-sovereign login system for everybody
15 lines • 684 B
JavaScript
import { Base64url, Txt } from "@e280/stz";
export function decodeToken(token) {
const [headerText, payloadText, signatureText] = token.split(".");
if (!headerText || !payloadText || !signatureText)
throw new Error("invalid jwt structure");
const headerBytes = Base64url.bytes(headerText);
const headerJson = Txt.string(headerBytes);
const header = JSON.parse(headerJson);
const payloadBytes = Base64url.bytes(payloadText);
const payloadJson = Txt.string(payloadBytes);
const payload = JSON.parse(payloadJson);
const signature = Base64url.bytes(signatureText);
return { header, payload, signature };
}
//# sourceMappingURL=decode.js.map