Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 错误:expiresIn应为秒数或字符串长度_Javascript - Fatal编程技术网

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'