我不希望我的令牌过期而且永远有效.
var token = jwt.sign({email_id:'123@gmail.com'}, "Stack", {
expiresIn: '24h' // expires in 24 hours
});
Run Code Online (Sandbox Code Playgroud)
在上面的代码我已经给了24小时..我不希望我的令牌过期.该怎么办?
ped*_*ofb 17
在exp
一个智威汤逊的要求是可选的.如果令牌没有它,则认为它不会过期
根据https://www.npmjs.com/package/jsonwebtoken的文档,该expiresIn
字段也没有默认值,所以只需省略它.
expiresIn, notBefore,audience,subject,issuer 没有默认值.这些声明也可以分别直接用exp,nbf,aud,sub和iss在有效载荷中提供,但是你不能在两个地方都包含这些声明.
var token = jwt.sign({email_id:'123@gmail.com'}, "Stack", {});
Run Code Online (Sandbox Code Playgroud)
Ved*_*Ved 16
要设置几天的过期时间:试试这个
var token = jwt.sign({email_id:'123@gmail.com'}, "Stack", {
expiresIn: '365d' // expires in 365 days
});
Run Code Online (Sandbox Code Playgroud)
"expiresIn"应该是一个秒或字符串,它会重复一次,例如:"1d","20h",
Abo*_*zlR 12
您可以在 number 或 string 中设置过期时间:
以秒或描述时间跨度 zeit/ms 的字符串表示。
例如: 60, "2 days", "10h", "7d"。数值被解释为秒计数。如果使用字符串,请确保提供时间单位(天、小时等),
否则默认使用毫秒单位(“120”等于“120ms”)。
var token = jwt.sign({email_id:'123@gmail.com'}, "Stack", {
expiresIn: "10h" // it will be expired after 10 hours
//expiresIn: "20d" // it will be expired after 20 days
//expiresIn: 120 // it will be expired after 120ms
//expiresIn: "120s" // it will be expired after 120s
});
Run Code Online (Sandbox Code Playgroud)
小智 8
jwt.sign(contentToEncrypt, SECRET_KEY, { expiresIn: '365d' });
Run Code Online (Sandbox Code Playgroud)
您可以将设置保存在配置文件中。在您想要的天数使用d后过期,例如 90 天后应该是:90d 小时使用h例如20h
您也可以使用毫秒,例如,在 4102444800ms 之后
配置文件
JWT_SECRET = my-32-character-ultra-secure-and-ultra-long-secret
JWT_EXPIRES_IN = 90d
Run Code Online (Sandbox Code Playgroud)
验证控制器.js
const signToken = (id) => {
return jwt.sign({ id: id }, process.env.JWT_SECRET, {
expiresIn: process.env.JWT_EXPIRES_IN,
});
};
const signIn = (user) =>{
const token = signToken(user._id);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
32293 次 |
最近记录: |