UNPKG

nomatic-jwt

Version:

JSON Web Token (JWT) utilities for Node.js

59 lines (58 loc) 1.79 kB
export declare type JWTAlgorithm = 'HS256' | 'HS384' | 'HS512' | 'RS256' | 'RS384' | 'RS512'; export declare type JWTClaims = JWTRegisteredClaims & JWTPrivateClaims; export declare type JWTPayloadData = JWTClaims | string; export interface JWTHeaderData { typ: string; alg: string; } export interface JWTOptions { algorithm?: JWTAlgorithm; autoValidate?: boolean; expiresIn?: number; timeOffset?: number; key?: string; privateKey?: string; publicKey?: string; } export interface JWTData { header: JWTHeaderData; payload: JWTPayloadData; signature: string; } export interface JWTRegisteredClaims { iss?: any; sub?: any; aud?: any; exp?: number; nbf?: number; iat?: number; jid?: any; } export interface JWTPrivateClaims { [key: string]: string | number | boolean | Object | any[]; } export declare class JWT { private _algorithm; private _autoValidate; private _expiresIn; private _key; private _privateKey; private _publicKey; private _timeOffset; constructor(options?: JWTOptions); static parsePayload(payload: string): JWTPayloadData; algorithm: JWTAlgorithm; autoValidate: boolean; expiresIn: number; key: string; privateKey: string; publicKey: string; timeOffset: number; signRaw(data: string, key?: string, algorithm?: JWTAlgorithm): string; verifyRaw(data: string, signature: string, key?: string, algorithm?: JWTAlgorithm): boolean; decode(encoded: string, key?: string, algorithm?: JWTAlgorithm): JWTData; encode(payload: JWTPayloadData, key?: string, algorithm?: JWTAlgorithm): string; validate(token: JWTData, key?: string, algorithm?: JWTAlgorithm): JWTData; } declare const _default: JWT; export default _default;