Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.1K
Vistas
¿Cómo lidiar con un TokenExpiredError: jwt caducado?

Tengo un proyecto con NodeJS con jwt para administrar la autenticación de usuarios. Después de un período de tiempo, mi aplicación deja de funcionar y mi servidor imprime lo siguiente:

 return done(new TokenExpiredError('jwt expired', new Date(payload.exp * 1000))); ^ TokenExpiredError: jwt expired

Ahora, la persona que estaba trabajando en este proyecto antes que yo tenía este código para administrar los tokens:

 static generateToken(username, type, id) { return jwt.sign( { username, type, id }, API_SECRET, { expiresIn: '7d' } ); } static generateRefreshToken(username, type, id) { return jwt.sign( { username, type, id }, API_SECRET_REFRESH, { expiresIn: '30d' } ); }

Supongo que el problema es expiresIn: '7d' (ya que soy bastante nuevo con jwt). También sé qué podemos omitir en el campo expiresIn para que el token no caduque en absoluto. Mi pregunta es: ¿es seguro omitir dicho campo o hay otra forma de abordar este tipo de mensaje de error? Dado que cada vez que aparece ese mensaje, tengo que eliminar todo el historial de navegación de mi navegador (o ejecutar mi proyecto en modo de incógnito) para que comience a funcionar nuevamente.

about 4 years ago · Santiago Gelvez
2 Respuestas
Responde la pregunta

0

Si, este es uno de los problemas más comunes, es posible solucionarlo con un token de refresco, lo que hace esta función es que cuando el token caduca, se hace una solicitud desde el frente para obtener uno nuevo, aquí hay un enlace con un ejemplo de implementación en el nodo js:

Enlace: https://www.bezkoder.com/jwt-refresh-token-node-js/

about 4 years ago · Santiago Gelvez Denunciar

0

No debe crear un token que no caduque. Por lo tanto, debe mantener la configuración expiresIn .

Dicho esto, no tiene que usar la estrategia de refresh token . Hay muchas maneras de manejar esto. Por ejemplo, puede hacer lo siguiente:

  1. Cree un punto final /check-token que verificará si el token actual sigue siendo válido.
  2. Cree un token cuando el usuario inicie sesión. El token será válido durante 7 días, por ejemplo.
  3. Cada vez que el usuario abre su aplicación, llame al punto final /check-token . Si el token actual no es válido, cierre la sesión del usuario. Si el token actual es válido, genere un nuevo token que será válido por otros 7 días y continúe autenticando al usuario con un nuevo token.
about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda