UNPKG

alinea

Version:

[![npm](https://img.shields.io/npm/v/alinea.svg)](https://npmjs.org/package/alinea) [![install size](https://packagephobia.com/badge?p=alinea)](https://packagephobia.com/result?p=alinea)

89 lines (88 loc) 1.92 kB
declare const algorithms: { ES256: { name: string; namedCurve: string; hash: { name: string; }; }; ES384: { name: string; namedCurve: string; hash: { name: string; }; }; ES512: { name: string; namedCurve: string; hash: { name: string; }; }; HS256: { name: string; hash: { name: string; }; }; HS384: { name: string; hash: { name: string; }; }; HS512: { name: string; hash: { name: string; }; }; RS256: { name: string; hash: { name: string; }; }; RS384: { name: string; hash: { name: string; }; }; RS512: { name: string; hash: { name: string; }; }; }; type Algorithm = keyof typeof algorithms; type JWTHeader = { alg: Algorithm; kid?: string; typ?: string; cty?: string; crit?: string[]; [key: string]: any; }; type JWTPayload = Record<string, any>; type JWT = { header: JWTHeader; payload: JWTPayload; signature: Uint8Array; }; export type SignOptions = { algorithm: Algorithm; header?: Record<string, any>; }; export declare function sign(payload: JWTPayload, secret: string | JsonWebKey, options?: SignOptions): Promise<string>; export type VerifyOptions = { algorithms?: Array<Algorithm>; clockTolerance?: number; clockTimestamp?: number; }; export declare function verify<T = JWTPayload>(token: string, secret: string, options?: VerifyOptions): Promise<T>; export declare function verify<T = JWTPayload>(token: string, publicKey: JsonWebKey, options?: VerifyOptions): Promise<T>; export declare function decode(token: string): JWT; export {};