@e280/authlocal
Version:
User-sovereign login system for everybody
14 lines • 687 B
JavaScript
import { Base64url, Txt } from "@e280/stz";
import { tokenHeader } from "./header.js";
import { sign } from "../crypto/crypto.js";
export async function signToken(secret, payload) {
const headerBytes = Txt.bytes(JSON.stringify(tokenHeader));
const headerText = Base64url.string(headerBytes);
const payloadBytes = Txt.bytes(JSON.stringify(payload));
const payloadText = Base64url.string(payloadBytes);
const signingText = `${headerText}.${payloadText}`;
const signingBytes = new TextEncoder().encode(signingText);
const signature = Base64url.string(await sign(signingBytes, secret));
return `${signingText}.${signature}`;
}
//# sourceMappingURL=sign.js.map