Intenta entender el código de forma correcta previamente a adaptarlo a tu proyecto y si ttienes algo que aportar puedes compartirlo con nosotros.
Solución:
Esta es la respuesta si alguien quiere saber
if (Date.now() >= exp * 1000)
return false;
Debe usar jwt.verify, comprobará si el token ha caducado. jwt.decode no debe usarse si la fuente no es confiable, ya que no verifica si el token es válido.
verify
en sí mismo devuelve un error si ha caducado. Más seguro como dijo @Gabriel.
const jwt = require('jsonwebtoken')
router.use((req, res, next) =>
const token = yourJwtService.getToken(req) // Get your token from the request
jwt.verify(token, req.app.get('your-secret'), function(err, decoded)
if (err) throw new Error(err) // Manage different errors here (Expired, untrusted...)
req.auth = decoded // If no error, token info is returned in 'decoded'
next()
);
)
Y lo mismo escrito en async/await
sintaxis:
const jwt = require('jsonwebtoken')
const jwtVerifyAsync = util.promisify(jwt.verify);
router.use(async (req, res, next) =>
const token = yourJwtService.getToken(req) // Get your token from the request
try
req.auth = await jwtVerifyAsync(token, req.app.get('your-secret')) // If no error, token info is returned
catch (err)
throw new Error(err) // Manage different errors here (Expired, untrusted...)
next()
);
Finalizando este artículo puedes encontrar las acotaciones de otros programadores, tú además tienes la libertad de mostrar el tuyo si te apetece.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)