Files
void-genesis/dev/lobby-backend/src/middlewares/auth.middleware.js
T
2026-06-04 22:56:30 +02:00

30 lines
826 B
JavaScript

import jwt from 'jsonwebtoken';
/**
* Middleware zum Schützen privater API-Routen.
* Prüft, ob ein gültiges Access_Token im Aithorization-Headder mitgesendet wurde.
*/
export const requireAuth = (req, res, next) => {
// Der Standard für Tokens ist der Header: "Authorization: Bearer <token>"
const authHeader = req.headers.authorization;
if (!authHeader || !authHeader.startsWith('Bearer ')) {
return res.status(401).json({
error: 'ERR_UNAUTHORIZED_NO_TOKEN'
});
}
const token = authHeader.split(' ')[1];
try {
const decoded = jwt.verify(token, process.env.JWT_ACCESS_SECRET);
req.user = decoded;
next();
} catch (error) {
return res.status(401).json({
error: 'ERR_UNAUTHORIZED_INVALID_TOKEN'
});
}
};