0.0.4 • Published 6 months ago

@colingreybosh/otp-lib v0.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

OTP Library

A TypeScript library for generating, validating, and managing one-time passwords (OTP) for authentication purposes.

Features

  • TOTP (Time-based OTP): Generate and validate time-based OTPs based on RFC 6238
  • HOTP (HMAC-based OTP): Generate and validate HMAC-based OTPs based on RFC 4226
  • Multiple algorithms: Support for SHA1, SHA256, and SHA512
  • Customizable: Configure OTP parameters such as secret, algorithm, digits, period, and counter
  • TypeScript: Full TypeScript support with type definitions
  • Secure: Cryptographically secure secret generation using Node.js crypto module
  • RFC compliant: Implements RFC 6238 (TOTP) and RFC 4226 (HOTP) specifications

Installation

npm install @colingreybosh/otp-lib

Quick Start

import { TOTP, generateSecret } from '@colingreybosh/otp-lib';

// Generate a secure secret
const secret = generateSecret();

// Create TOTP instance
const totp = new TOTP({
  secret,
  algorithm: 'SHA1',
  digits: 6,
  period: 30,
});

// Generate a token
const token = totp.generate();
console.log(`Current token: ${token.token}`);

// Validate a token
const validation = totp.validate(token.token);
console.log(`Valid: ${validation.valid}`);