Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //REFRESH TOKEN
- //CREACIÓN DEL TOKEN
- exports.createToken = function(usuario){
- var payload ={
- id:usuario.id,
- nombre: usuario.nombre,
- apellidos: usuario.apellidos,
- rol:usuario.rol,
- imagen:usuario.imagen,
- iat:moment().unix(),
- exp:moment().add(15,'days').unix()
- };
- //Ciframos los datos del usuario con secret
- return jwt.encode(payload,clave_secreta);
- };
- //MIDDLEWARE DEL TOKEN (llamada a la api si ofrece errores 401 o 403)
- exports.delvolverIdTokenRefrescar = function(req,res,next){
- if(!req.headers.authorization){
- return res.status(403).send({message: 'La petición no tiene la cabecera de autenticación'});
- }
- //Eliminamos las comillas que nos lleguen del token
- var token = req.headers.authorization.replace(/['"]+/g,'');
- console.log(token)
- var token_descifrado = jwt.decode(token,clave_secreta,true);
- res.locals.id = token_descifrado.id; //Aquí obtengo el id del usuario
- next(); //Para salir del middleware
- };
- //FUNCIÓN PARA DEVOLVER NUEVO TOKEN REFRESCADO
- function refrescarToken(req,res){
- var id_usuario=null;
- if ( res.locals.id) {
- id_usuario = res.locals.id; //Aquí obtengo el id del usuario del middleware
- }
- console.log("Midlleware",id_usuario);
- //Busco el usuario con el id
- user.findById(id_usuario).then(function(usuario) {
- if (!usuario) {
- return res.status(404).send({mesage:'Error al buscar usuario'});
- }
- else{
- console.log(usuario);
- //Creo el token nuevo
- res.status(200).send({
- token: jwt.createToken(usuario)
- });
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement