UNPKG

web-crawling-utils

Version:
35 lines (34 loc) 1.14 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.verifyToken = exports.generateToken = void 0; // src/utils/auth.ts const jsonwebtoken_1 = __importDefault(require("jsonwebtoken")); const JWT_SECRET = process.env.JWT_SECRET || 'your-secret-key'; /** * Generate a JWT token for a given user ID. * @param userId - The ID of the user. * @returns The generated JWT token. */ const generateToken = (userId) => { return jsonwebtoken_1.default.sign({ userId }, JWT_SECRET, { expiresIn: '1h', // Token expires in 1 hour }); }; exports.generateToken = generateToken; /** * Verify a JWT token and extract the user ID. * @param token - The JWT token to verify. * @returns The decoded token if valid, or throws an error. */ const verifyToken = (token) => { try { return jsonwebtoken_1.default.verify(token, JWT_SECRET); } catch (error) { throw new Error('Invalid or expired token'); } }; exports.verifyToken = verifyToken;