UNPKG

@defikitdotnet/x-ai-combat

Version:

XCombatAI - Social Media Engagement Template for the Agent Framework

39 lines 1.36 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 = void 0; const jsonwebtoken_1 = __importDefault(require("jsonwebtoken")); const JWT_SECRET = process.env.JWT_SECRET || 'x-combat-ai-secret-key'; /** * Middleware to verify JWT token * Extracts token from cookies and verifies it * If valid, attaches decoded payload to req.user */ const verifyToken = async (req, res, next) => { const authHeader = req.headers.authorization; const token = authHeader && authHeader.startsWith('Bearer ') ? authHeader.split(' ')[1] : req.cookies?.jwt; if (!token) { res.status(401).json({ error: 'Access denied. No token provided.' }); return; } try { // Verify token const decoded = jsonwebtoken_1.default.verify(token, JWT_SECRET); // Add user to request req.XaicombatUser = decoded; next(); } catch (error) { if (error.name === 'TokenExpiredError') { res.status(401).json({ error: 'Token expired' }); return; } res.status(401).json({ error: 'Invalid token' }); } }; exports.verifyToken = verifyToken; //# sourceMappingURL=auth.js.map