UNPKG

hedgehod-kit

Version:

Configurable backend auth module with email verification, profile update, and OTP password reset

28 lines (21 loc) 781 B
const jwt = require('jsonwebtoken'); const bcrypt = require('bcrypt'); const hashPassword = async (password) => { const salt = await bcrypt.genSalt(10); return await bcrypt.hash(password, salt); }; const comparePassword = async (password, hash) => { return await bcrypt.compare(password, hash); }; const generateToken = (payload, expiresIn) => { return jwt.sign(payload, process.env.JWT_SECRET, { expiresIn }); }; const verifyToken = (token) => { return jwt.verify(token, process.env.JWT_SECRET); }; const generateOTP = (length = 6) => { let otp = ''; for (let i = 0; i < length; i++) otp += Math.floor(Math.random() * 10); return otp; }; module.exports = { hashPassword, comparePassword, generateToken, verifyToken, generateOTP };