@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
43 lines • 1.31 kB
TypeScript
import type { AuthUser, IndustryType } from '@iota-big3/sdk-types';
import type { Request, RequestHandler } from 'express';
import type { FastifyInstance } from 'fastify';
export interface ApiKey {
id: string;
name: string;
scopes?: string[];
}
export interface AuthenticatedRequest extends Request {
user?: AuthUser;
apiKey?: ApiKey;
auth?: {
type: 'jwt' | 'apiKey' | 'session';
token?: string;
};
}
export interface AuthConfig {
secret?: string;
algorithm?: string;
issuer?: string;
audience?: string;
expiresIn?: string | number;
tokenHeader?: string;
cookieName?: string;
publicPaths?: string[];
enableJWT?: boolean;
enableApiKey?: boolean;
enableSession?: boolean;
}
export interface AuthMetadata {
serviceName: string;
version?: string;
environment?: string;
industry?: IndustryType;
}
export interface AuthMiddleware extends RequestHandler {
express: RequestHandler;
fastify: (fastify: FastifyInstance) => Promise<void>;
}
export declare function createAuthMiddleware(authConfig: AuthConfig | undefined, metadata: AuthMetadata): AuthMiddleware;
export declare const authMiddleware: typeof createAuthMiddleware;
export default createAuthMiddleware;
//# sourceMappingURL=auth-middleware.d.ts.map