bubbles-express-generator
Version:
A simple CLI to scaffold Express.js starter projects.
28 lines (24 loc) • 656 B
text/typescript
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);
}
};