paseto-ts
Version:
PASETO v4 (encrypt, decrypt, sign & verify) in TypeScript
27 lines (26 loc) • 1.61 kB
TypeScript
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;