secure-token-kit
Version:
A robust, framework-agnostic TypeScript library for secure token and session management.
31 lines • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.authMiddleware = void 0;
/**
* Middleware para controlar el acceso al servicio, se tiene que aplicar antes de los Controllers,
* @param authServer Instancia el AuthServer para manejar el validador
* @returns next() || response.status(401)
*/
var authMiddleware = function (authServer) {
return function (req, res, next) {
var authHeader = req.headers['authorization'];
if (!authHeader)
return res.status(401).send('No token provided');
var parts = authHeader.split(' ');
if (parts.length !== 2)
return res.status(401).send('Token error');
var scheme = parts[0], token = parts[1];
if (!/^Bearer$/i.test(scheme))
return res.status(401).send('Token malformatted');
try {
var payload = authServer.verifyAccessToken(token);
req.user = payload;
next();
}
catch (error) {
res.status(401).send('Invalid token');
}
};
};
exports.authMiddleware = authMiddleware;
//# sourceMappingURL=AuthMiddleware.js.map