如何在Express中设置cookie的sameSite和Secure属性?

3
我有一个服务器API代码,创建了一个cookie,需要设置`Samesite`和`Secure`属性以消除警告,所以我像这篇帖子中一样添加了它们,但是现在出错了。

状态码为500的请求失败

app.post('/api/login', (req, res) => {
    User.findOne({'email': req.body.email}, (err, user) => {
        if (!user) return res.json({isAuth: false, message: 'Auth failed no email'});

        user.comparePassword(req.body.password, (err, isMatch) => {
            if (!isMatch) return res.json({isAuth: false, message: 'wrong password'});

            user.generateToken((err, User) => {
                if (err) return res.status(400).send(err);
                res.cookie('auth', user.token, {samesite:none, secure:true}).send({isAuth: true, id: user._id, email: user.email });
            })
        })
    })
})

这是设置samesite和secure属性的正确方式吗?我该怎么解决它?

如果没有 {samesite:none, secure:true} ,API可以正常工作。

1个回答

2
请使用 sameSite:'none' 替代 samesite:none

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接