UNPKG

lockbyte

Version:

Enterprise-grade password hashing and user authentication library with Argon2-inspired algorithm, memory-hard functions, and comprehensive security features

49 lines 1.28 kB
import { CryptoConfig } from './crypto'; export interface User { id: string; email: string; hashedPassword: string; hashVersion: string; algorithm: string; createdAt: Date; lastLogin?: Date; } export interface AuthResult { success: boolean; user?: User; error?: string; sessionToken?: string; } export interface RegistrationData { email: string; password: string; } export interface LoginData { email: string; password: string; } export declare class UserAuth { private crypto; private users; private sessions; constructor(cryptoConfig?: Partial<CryptoConfig>); private generateUserId; private generateSessionToken; private validateEmail; private validatePassword; register(data: RegistrationData): Promise<AuthResult>; login(data: LoginData): Promise<AuthResult>; logout(sessionToken: string): boolean; validateSession(sessionToken: string): { valid: boolean; user?: User; }; changePassword(sessionToken: string, oldPassword: string, newPassword: string): AuthResult; private getUserByEmail; private getUserById; getUserStats(): { totalUsers: number; activeSessions: number; }; } //# sourceMappingURL=auth.d.ts.map