Javascript 错误:expiresIn应为秒数或字符串长度
我正试图通过登录获取令牌。这是密码Javascript 错误:expiresIn应为秒数或字符串长度,javascript,Javascript,我正试图通过登录获取令牌。这是密码 db.query('SELECT * FROM users WHERE email = ?', [email], async (error, results) => { console.log(results); if( !results || !(await bcrypt.compare(password, results[0].password)) ) { res.status(401).render('log
db.query('SELECT * FROM users WHERE email = ?', [email], async (error, results) => {
console.log(results);
if( !results || !(await bcrypt.compare(password, results[0].password)) ) {
res.status(401).render('login', {
message: 'Email or Password is incorrect'
})
} else {
const id = results[0].id;
const token = jwt.sign({ id }, process.env.JWT_SECRET, {
expiresIn: process.env.JWT_EXPIRES_IN
});
console.log("The token is " + token);
const cookieOptions = {
expires: new Date(
date.now() + process.env.JWT_COOKIE_EXPIRES * 24 * 60 * 60
),
httpOnly: true
}
res.cookie('jwt', token, cookeOptions);
res.status(200).redirect("/")
}
错误是error:expiresIn应该是秒数或字符串rep
但我似乎不知道问题出在哪里。请提供帮助您是否在.env文件中添加了JWT\u EXPIRES\u和&JWT\u COOKIE\u EXPIRES\u?请尝试
console.log(process.env.JWT\u EXPIRES\u IN)
并查看您在该道具中传递的内容,然后将其与文档中预期的内容进行比较,因为它可能会有所帮助。。。祝你好运@米提里迪普拉桑特yes@YuriMckoy尝试在控制台中打印。expiresIn参数只接受字符串。它应该类似于expiresIn:'1h'