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 " 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' }); } };