in my app.module I Register JWT as :
JwtModule.register({
secret: `${process.env.JWT_SECRET}`,
signOptions: {
expiresIn: "24h" ,
notBefore: Math.floor(new Date().getTime() / 1000) ,
},
but when i decode the token I get these timestamps:
iat: 1699944419,
nbf: 3399888838,
exp: 1700030819
nbf times shows a wrong datetime ( Sunday, September 26, 2077 5:03:58 PM )
jsonwebtoken's
notBefore
field seems to be time relative to the current time. If you pass a numeric value (which you do), that value will be treated as seconds, which is why you're doubling the time at the moment. You can see here that thenbf
gets assigned the current timestamp plus thenotBefore
option, which leads to the doubled time. Give a time relative to the current for what you want thenotBefore
to be, instead of an absolute time.