Que es un JWT Secret?

Resumen

Una guia corta sobre el secreto que se usa para firmar y verificar JWT, y sobre donde deberia guardarse.

Respuesta rapida: Un JWT Secret es el secreto del lado del servidor que se usa para firmar y verificar JWT. Es distinto del payload del token y nunca debe exponerse al navegador.

Que hace el secreto

Cuando un JWT usa un algoritmo de tipo HMAC, el JWT Secret es la clave compartida que se utiliza para producir la firma. El servidor la usa para emitir tokens y para verificarlos despues.

Donde deberia guardarse

Guardalo en una variable de entorno o en un gestor de secretos y leelo solo en el servidor. Ponerlo en `.env.local` es comun, pero nunca lo subas a un repositorio publico.

  • No lo envies al navegador
  • No lo escribas directamente en archivos fuente
  • No lo reutilices sin cuidado entre entornos

Idea equivocada comun

El payload de JWT es solo para datos, no para guardar secretos. Ademas, la longitud por si sola no basta: el valor debe generarse con aleatoriedad fuerte.

Ver todas las guias

Abre la pagina completa de guias para comparar articulos y saltar a otro tema.

Abrir guias