Files added to repository
This commit is contained in:
74
middlewares/auth.js
Executable file
74
middlewares/auth.js
Executable file
@@ -0,0 +1,74 @@
|
||||
const jwt = require('jwt-simple');
|
||||
const config = require('../config/config');
|
||||
const moment = require('moment');
|
||||
|
||||
|
||||
exports.Authenticated = function(req, res, next) {
|
||||
if(req.headers.authorization === "") {
|
||||
res.status(401);
|
||||
return res.json({error: "No has iniciado sesión"});
|
||||
}
|
||||
|
||||
let token = req.headers.authorization;
|
||||
|
||||
try{
|
||||
let payload = jwt.decode(token, config.TOKEN_SECRET, 'HS512');
|
||||
if(payload.exp < moment().unix()){
|
||||
return res.json({error: "Sesión Finalizada"});
|
||||
}
|
||||
req.usuario = payload.sub.split('-')[0];
|
||||
req.TFA = payload.TFA;
|
||||
if(payload.TFA){
|
||||
throw new Error("TOken no valid");
|
||||
}
|
||||
next();
|
||||
}
|
||||
catch(error){
|
||||
res.status(401);
|
||||
return res.json({error: "Token no válido"});
|
||||
}
|
||||
}
|
||||
|
||||
exports.AuthenticatedFA = function(req, res, next) {
|
||||
if(req.headers.authorization === "") {
|
||||
res.status(401);
|
||||
return res.json({error: "No has iniciado sesión"});
|
||||
}
|
||||
|
||||
let token = req.headers.authorization;
|
||||
|
||||
try{
|
||||
let payload = jwt.decode(token, config.TOKEN_SECRET, 'HS512');
|
||||
if(payload.exp < moment().unix()){
|
||||
return res.json({error: "Sesión Finalizada"});
|
||||
}
|
||||
if(!payload.TFA){
|
||||
throw new Error("TOken no valid");
|
||||
}
|
||||
req.usuario = payload.sub.split('-')[0];
|
||||
next();
|
||||
}
|
||||
catch(error){
|
||||
res.status(401);
|
||||
return res.json({error: "Token no válido"});
|
||||
}
|
||||
}
|
||||
|
||||
/*exports.AlreadyToken = function(req, res, next) {
|
||||
if(req.headers.authorization === "") {
|
||||
next();
|
||||
}
|
||||
|
||||
let token = req.headers.authorization;
|
||||
|
||||
try{
|
||||
let payload = jwt.decode(token, config.TOKEN_SECRET, 'HS512'); //Nueva version, ahora no suelta una excepcion cuando expira el token...
|
||||
if(payload.exp < moment().unix()){
|
||||
throw Error();
|
||||
}
|
||||
return res.status(204).end();
|
||||
}
|
||||
catch(error){
|
||||
next();
|
||||
}
|
||||
}*/
|
52
middlewares/log.js
Executable file
52
middlewares/log.js
Executable file
@@ -0,0 +1,52 @@
|
||||
let winston = require('winston');
|
||||
|
||||
var loggerW = winston.createLogger({
|
||||
level: 'info',
|
||||
format: winston.format.combine(
|
||||
winston.format.timestamp(),
|
||||
winston.format.printf(info => {
|
||||
return `${info.timestamp} ${info.level}: ${info.message}`;
|
||||
},
|
||||
error => {
|
||||
return `${error.timestamp} ${error.level}: ${error.message}`;
|
||||
})
|
||||
),
|
||||
transports: [
|
||||
//new winston.transports.Console(),
|
||||
new winston.transports.File({ filename: 'combined.log' })
|
||||
]
|
||||
});
|
||||
|
||||
exports.errorMensaje=function (req,er){
|
||||
let usuario = req.usuario;
|
||||
if(req.body.usuario){
|
||||
usuario= req.body.usuario;
|
||||
}
|
||||
let ipUsuario=req.headers['user-agent'] ||null;
|
||||
//console.log(ipUsuario+" ip");
|
||||
let mensaje = "ERROR--"+er+"--ERROR El usuario: |"+usuario +"| solicita "+req.originalUrl+" en el Dispositivo: "+ipUsuario;
|
||||
loggerW.error(mensaje);
|
||||
}
|
||||
exports.serverActionInfo=function (req,serverAction){
|
||||
let usuario = req.usuario;
|
||||
if(req.body.usuario){
|
||||
usuario= req.body.usuario;
|
||||
}
|
||||
let ipUsuario=req.headers['user-agent'] ||null;
|
||||
let mensaje = "ACCION DEL SERVIDOR--"+serverAction+"-- Para el usuario: |"+usuario +"|" +" en el Dispositivo: "+ipUsuario;
|
||||
loggerW.info(mensaje);
|
||||
}
|
||||
|
||||
exports.log = function(req, res, next) {
|
||||
let usuario = req.usuario;
|
||||
if(req.body.usuario){
|
||||
usuario= req.body.usuario;
|
||||
}
|
||||
let ipUsuario=req.headers['user-agent'] ||null;
|
||||
//console.log(ipUsuario+" ip");
|
||||
;
|
||||
let mensaje = "El usuario: |"+usuario +"| solicita "+req.originalUrl+" en el Dispositivo: "+ipUsuario;
|
||||
loggerW.info(mensaje);
|
||||
//loggerW.error(mensaje);
|
||||
next();
|
||||
}
|
Reference in New Issue
Block a user