web-crawling-utils
Version:
Common useful utils for web crawling and automation scripts
35 lines (34 loc) • 1.14 kB
JavaScript
;
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;