UNPKG

bubbles-express-generator

Version:
28 lines (24 loc) 656 B
import { verifyJWT } from '../lib/auth.js'; import { GlobalError, JWTPayload } from '../types/types.js'; import { Request, Response, NextFunction } from 'express'; export const verifyUserToken = ( req: Request, res: Response, next: NextFunction, ): void => { const token = req.cookies?.token; if (!token) { return next(); } try { const payload = verifyJWT(token) as JWTPayload; if (payload.role === 'admin') { return res.redirect('/admin/dashboard'); } return res.redirect('/'); } catch { const error: GlobalError = new Error('Ungültiger Token'); error.statusCode = 401; return next(error); } };