inventario/backend/src/middleware/auth.ts
StefanoPutelli 04267b3886 init
2025-06-28 16:01:31 +02:00

31 lines
787 B
TypeScript

import { RequestHandler } from 'express';
import jwt from 'jsonwebtoken';
import dotenv from 'dotenv';
dotenv.config();
export interface JwtPayload { id: string; email: string; }
declare module 'express-serve-static-core' {
interface Request {
user?: JwtPayload;
}
}
const auth: RequestHandler = (req, res, next) => {
const header = req.headers.authorization;
const token = header?.split(' ')[1];
if (!token) {
res.status(401).json({ message: 'Token mancante' });
return; // ← niente valore
}
try {
req.user = jwt.verify(token, process.env.JWT_SECRET!) as JwtPayload;
next(); // anche qui il valore è void
} catch {
res.status(401).json({ message: 'Token non valido' });
}
};
export default auth;