gic-otp
v1.1.9
Published
a simple verified otp sender & verify module
Readme
📲 gic-otp - Powerful OTP Module for Node.js & Cloudflare Workers
gic-otp is a dual-environment OTP handling module. It allows sending and verifying OTPs using phone numbers, with support for:
- ✅ Normal Node.js Environments (using filesystem storage)
- ✅ Cloudflare Workers (using KV storage)
🚀 Installation
npm install gic-otp
⚙️ Features
✅ Supports Free & Premium OTP Modes ✅ Works in both Node.js servers & Cloudflare Workers ✅ Stores OTP sessions (phone + session ID) automatically ✅ Resends OTP when force=true is passed ✅ Deletes session automatically after successful verification ✅ Supports all country codes for phone numbers ✅ Easy integration with both platforms
📌 Usage
1️⃣ For Normal Node.js Servers (File Storage)
'javascript'
const { OTPModuleNormal } = require('gic-otp');
const otpService = new OTPModuleNormal();
// Sending OTP
otpService.sendOTP('+91', '9244284001')
.then(response => console.log(response))
.catch(err => console.error(err));
// Verifying OTP
otpService.verifyOTP({
phone: '9244284001',
otp: '123456'
})
.then(response => console.log(response))
.catch(err => console.error(err));2️⃣ For Cloudflare Workers (KV Storage)
import { OTPModuleWorkers } from 'gic-otp';
export default {
async fetch(request, env) {
const otpService = new OTPModuleWorkers(env);
// Example: Sending OTP
const sendResponse = await otpService.sendOTP('+91', '9244284001');
console.log(sendResponse);
// Example: Verifying OTP
const verifyResponse = await otpService.verifyOTP({
phone: '9244284001',
otp: '123456'
});
console.log(verifyResponse);
return new Response("OTP Flow Completed");
}
}📖 Methods
🔹 sendOTP(countryCode, phone, force = false) Parameter Type Description countryCode string Country code (like +91) phone string Phone number without country code force boolean Optional - Resend OTP even if already sent Returns
'json'
{
"success": true,
"message": "OTP sent to +91 9244284001"
}🔹 verifyOTP({ phone, otp, gid })
Parameter Type Description phone string Phone number (required if gid is not given) otp string OTP to verify gid string Session ID (optional, required if phone not given) Returns
'json'
{
"success": true,
"message": "OTP verified successfully"
}🏗️ Internal Flow
✅ Stores phone session (phone: gid) either in file system (Node.js) or KV storage (Cloudflare) ✅ Supports re-sending OTP using force=true ✅ Deletes session after successful verification
📝 Example Storage (File-based - Node.js)
+91_9244284001: PHPSESSID=abc123xyz
💻 Compatibility
Environment Supported Node.js (fs storage) ✅ Yes Cloudflare Workers (KV) ✅ Yes
🌐 Author
Developed with ❤️ by GlitchyAPI
