Как установить время истечения токена 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