浏览器不存储HTTPOnly cookie?

时间:2019-09-07 20:05:39

标签: node.js express cookies

我正在使用JWT从服务器(节点/表达式)向客户端(vue)发送HTTPOnly cookie,并且浏览器未存储该cookie,我尝试使用三种不同的浏览器Chrome Brave和Firefox(以防万一大声笑),在Firefox中,使用DEV Tools-> Network-> Cookies标签,我可以看到令牌已发送,但浏览器从不存储它。

我在localhost ...

const token = jwt.sign(
    {
      id: newUser._id
    },
      process.env.JWT_SECRET,
    {
      expiresIn: process.env.JWT_EXPIRES_IN
    }
     );

  if (process.env.NODE_ENV === 'production') cookieOptions.secure = 
 true;

   const cookieOptions = {
        expires: new Date(
       Date.now() + process.env.JWT_COOKIE_EXPIRES_IN * 24 * 60 * 60 
           * 1000
        ),

     httpOnly: true
    };
   res.cookie('jwt', token, cookieOptions);

1 个答案:

答案 0 :(得分:0)

基于浏览器的脚本不可见httpOnly cookie的全部内容。因此,浏览器会存储它们,但不会与运行的脚本共享它们。