我正在使用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);
答案 0 :(得分:0)
基于浏览器的脚本不可见httpOnly cookie的全部内容。因此,浏览器会存储它们,但不会与运行的脚本共享它们。