Как установить время истечения токена jwt на максимум в nodejs?

Я не хочу, чтобы мой токен истек, и он был действительным навсегда.

var token = jwt.sign({email_id:'[email protected]'}, "Stack", {

                        expiresIn: '24h' // expires in 24 hours

                         });

В приведенном выше коде я дал в течение 24 часов.. Я не хочу, чтобы мой токен истекал. Что для этого нужно сделать?

Ответ 1

exp утверждение о JWT является необязательным. Если у токена нет его, считается, что он не истекает

Согласно документации https://www.npmjs.com/package/jsonwebtoken, поле expiresIn также не имеет значения по умолчанию, поэтому просто опустите его.

Не существует значений по умолчанию для expiresIn, notBefore, аудитория, субъект, эмитент. Эти претензии также могут быть представлены в полезной нагрузке непосредственно с помощью exp, nbf, aud, sub и iss соответственно, но вы не можете включать их в оба места.

var token = jwt.sign({email_id:'[email protected]'}, "Stack", {});

Ответ 2

Чтобы установить время истечения в днях: попробуйте это

 var token = jwt.sign({email_id:'[email protected]'}, "Stack", {

           expiresIn: '365d' // expires in 365 days

      });

"expiresIn" должно быть числом секунд или строкой, которая повторяет интервал времени, например: "1d", "20h",

Документы: jsonwebtoken