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 the nbf
gets assigned the current timestamp plus the notBefore
option, which leads to the doubled time. Give a time relative to the current for what you want the notBefore
to be, instead of an absolute time.