UNPKG

paseto-ts

Version:

PASETO v4 (encrypt, decrypt, sign & verify) in TypeScript

27 lines (26 loc) 1.61 kB
import type { Assertion, Footer, Payload } from "../lib/types.js"; import type { GetRandomValues } from '../lib/types.js'; /** * Encrypts a payload using a local key and returns a PASETO v4.local token * The key must have the version and purpose of `k4.local`. * @param {string | Uint8Array} key 32 bytes of data from a random source. Must be prepended with `k4.local.` before use. * @param {Payload | string | Uint8array} payload Payload to encrypt * @param {object} options Options * @param {Footer | string | Uint8Array} options.footer Optional footer * @param {Assertion | string | Uint8Array} options.assertion Optional assertion * @param {number} options.maxDepth Maximum depth of nested objects in the payload and footer; defaults to 32 * @param {number} options.maxKeys Maximum number of keys in an object in the payload and footer; defaults to 128 * @param {(array: Uint8Array): Uint8Array} options.getRandomValues Optional crypto.getRandomValues implementation (for Node < 19) * @returns {string} PASETO v4.local token * @see https://github.com/paseto-standard/paseto-spec/blob/master/docs/01-Protocol-Versions/Version4.md#encrypt */ export declare function encrypt(key: string | Uint8Array, payload: Payload | string | Uint8Array, { footer, assertion, addIat, addExp, maxDepth, maxKeys, validatePayload, getRandomValues, }?: { footer?: Footer | string | Uint8Array; assertion?: Assertion | string | Uint8Array; addIat?: boolean; addExp?: boolean; maxDepth?: number; maxKeys?: number; validatePayload?: boolean; getRandomValues?: GetRandomValues; }): string;