paseto-ts
Version:
PASETO v4 (encrypt, decrypt, sign & verify) in TypeScript
30 lines (29 loc) • 1.78 kB
TypeScript
import type { Footer, Payload, Assertion } from "../lib/types.js";
/**
* Signs a payload using an Ed25519 secret key and returns a PASETO v4.public token.
* The secret key must have the version and purpose of `k4.secret`.
* @param {string | Uint8Array} key Ed25519 secret key to sign with
* @param {Payload | string | Uint8Array} payload Payload to sign
* @param {object} options Options
* @param {Footer | string | Uint8Array} options.footer Optional footer
* @param {Assertion | string | Uint8Array} options.assertion Optional assertion
* @param {boolean} options.addIat Add an iat claim if one is not provided; defaults to true
* @param {boolean} options.addExp Add an exp claim if one is not provided; defaults to true
* @param {number} options.maxDepth Maximum depth of nested objects in the payload; defaults to 32
* @param {number} options.maxKeys Maximum number of keys in an object in the payload; defaults to 128
* @returns {string} PASETO v4.public token
* @see https://github.com/paseto-standard/paseto-spec/blob/master/docs/01-Protocol-Versions/Version4.md#sign
*/
export declare function sign(key: string | Uint8Array, payload: Payload | string | Uint8Array, { footer, assertion, addExp, // Add an exp claim if one is not provided: https://github.com/paseto-standard/paseto-spec/blob/master/docs/02-Implementation-Guide/05-API-UX.md#default-expiration-claims
addIat, // Add an iat claim if one is not provided
maxDepth, // Maximum depth of nested objects
maxKeys, // Maximum number of keys in an object
validatePayload, }?: {
footer?: Footer | string | Uint8Array;
assertion?: Assertion | string | Uint8Array;
addExp?: boolean;
addIat?: boolean;
maxDepth?: number;
maxKeys?: number;
validatePayload?: boolean;
}): string;