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

57 lines 1.9 kB
import { AuthUser, TypedRequest } from '@iota-big3/sdk-types'; import type { FastifyInstance, FastifyRequest } from 'fastify'; import { AuthConfig, MiddlewareFunction } from './types-clean'; export interface AuthenticatedRequest extends TypedRequest { user?: AuthUser; token?: string; authMethod?: 'jwt' | 'api-key' | 'session'; } export interface AuthenticatedFastifyRequest extends FastifyRequest { user?: { id: string; email?: string; roles?: string[]; permissions?: string[]; industry?: string; metadata?: { lastLogin?: string; loginCount?: number; preferences?: Record<string, unknown>; }; }; token?: string; authMethod?: 'jwt' | 'api-key' | 'session'; } export declare class AuthMiddleware { private config; private isEnabled; private metrics; constructor(config?: AuthConfig); private extractToken; private extractApiKey; private extractApiKeyFastify; private isPublicPath; private validateToken; private validateApiKey; middleware(): MiddlewareFunction; getHealthStatus(): { status: string; enabled: boolean; }; fastifyPlugin(): (fastify: FastifyInstance) => Promise<void>; getMetrics(): typeof this.metrics; private generateRequestId; private logSuccessfulAuthentication; private logAuthenticationFailure; private logAuthenticationError; private logPublicPathAccess; private logSuccessfulAuthenticationFastify; private logAuthenticationFailureFastify; private logAuthenticationErrorFastify; private logPublicPathAccessFastify; resetMetrics(): void; } export declare function createAuthMiddleware(config?: AuthConfig): MiddlewareFunction & { fastify: (fastify: FastifyInstance) => Promise<void>; }; //# sourceMappingURL=auth-middleware-clean.d.ts.map