secure-2fa
Version:
A secure, developer-friendly Node.js package for email-based OTP (2FA) with strong security controls
39 lines • 1.24 kB
TypeScript
import { OtpConfig, OtpGenerationResult, OtpVerificationResult, OtpGenerationParams, DatabaseAdapter, EmailProvider, RateLimiterAdapter, HealthCheckResult, OtpVerificationParams } from '../types';
export declare class SecureEmailOtp {
private readonly config;
private readonly otpGenerator;
private readonly dbAdapter;
private readonly emailProvider;
private readonly rateLimiter;
private readonly events;
constructor(dbAdapter: DatabaseAdapter, emailProvider: EmailProvider, rateLimiter: RateLimiterAdapter, serverSecret: string, config?: OtpConfig);
/**
* Generate and send OTP
*/
generate(params: OtpGenerationParams): Promise<OtpGenerationResult>;
/**
* Verify OTP
*/
verify(params: OtpVerificationParams): Promise<OtpVerificationResult>;
/**
* Cleanup expired OTPs
*/
cleanup(): Promise<void>;
/**
* Health check for monitoring
*/
healthCheck(): Promise<HealthCheckResult>;
/**
* Send email OTP
*/
private sendEmailOtp;
/**
* Check if request metadata matches
*/
private checkMetaMismatch;
/**
* Emit event
*/
private emitEvent;
}
//# sourceMappingURL=secure-email-otp.d.ts.map