create-bar-project
Version:
This module helps create a base for web application projects.
21 lines (18 loc) • 543 B
text/typescript
import { notAllowedMessage } from 'Common/Consts';
import { login } from 'Logic';
export const getTokenFromReq = (req) => {
return req.headers.authorization?.split('Bearer ')[1];
};
export const verifyToken = async (req, res, next) => {
try {
const token = getTokenFromReq(req);
const userData = await login(token); // TODO: maybe use cache
if (userData) {
next();
} else {
res.status(403).send(notAllowedMessage);
}
} catch (err) {
res.status(403).send(notAllowedMessage, err.message || err);
}
};