alinea
Version:
[](https://npmjs.org/package/alinea) [](https://packagephobia.com/result?p=alinea)
89 lines (88 loc) • 1.92 kB
TypeScript
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 {};