UNPKG

@allan1361/iota-big3-sdk-middleware

Version:

🏆 A+ Grade Certified Enterprise Middleware Framework - Phase 3 Certified (90/100) with advanced resilience patterns, comprehensive type safety, and production-ready observability

50 lines 1.46 kB
import { Algorithm } from 'jsonwebtoken'; import type { Logger } from '@iota-big3/sdk-types'; export interface JWTConfig { accessTokenSecret: string; refreshTokenSecret: string; accessTokenExpiry?: string; refreshTokenExpiry?: string; algorithm?: Algorithm; issuer?: string; audience?: string | string[]; clockTolerance?: number; } export interface TokenPayload { userId: string; email?: string; roles?: string[]; permissions?: string[]; sessionId?: string; [key: string]: any; } export interface TokenPair { accessToken: string; refreshToken: string; accessTokenExpiry: Date; refreshTokenExpiry: Date; } export interface DecodedToken extends TokenPayload { iat: number; exp: number; iss?: string; aud?: string | string[]; jti?: string; } export declare class JWTService { private config; private revokedTokens; private logger?; constructor(config: JWTConfig, logger?: Logger); generateTokenPairAsync(payload: TokenPayload): Promise<TokenPair>; verifyAccessTokenAsync(token: string): Promise<DecodedToken>; verifyRefreshTokenAsync(token: string): Promise<DecodedToken>; refreshTokensAsync(refreshToken: string): Promise<TokenPair>; revokeToken(): void; revokeSession(): void; private isTokenRevoked; private generateJTI; private decodeToken; cleanupRevokedTokens(): void; } //# sourceMappingURL=jwt-service.d.ts.map