Aquí está mi código, como puede ver, estoy usando un objeto literal como se sugiere en la ayuda de la biblioteca jsonwebtoken , pero el resultado es siempre el mismo
const TOKEN = { JWT: JWT.sign({ iat: Date.now(), data: { username: USER.name, userLevel: USER.level, userId: USER._id, limit: USER.limit, has2FA: USER.has2FA } }, SECRET_KEY, { expiresIn: 60 * 60 * 12 } ) }Como puede ver, este código devuelve tanto el iat como el exp con solo unos minutos y segundos de diferencia en lugar de las 12 horas que quiero.
¿Alguna idea de por qué sucede esto?
Editar : estoy usando jsonwebtoken y Dayjs para mostrar la hora.
El problema parece estar relacionado con el hecho de que está especificando iat en milisegundos , mientras que se espera que sea en segundos . Así que hazlo
iat: Date.now()/1000,o elimine por completo esa propiedad porque ese es el valor predeterminado de todos modos.