如何在带有Express的Cookie中设置sameSite和Secure属性?

时间:2020-06-05 00:13:51

标签: node.js express

我有这个创建cookie的服务器API代码,我需要设置samesiteSecure属性来消除警告,所以我在此post中添加了它们,但我立即获取错误

请求失败,状态码为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:none, secure:true}的情况下,API可以正常工作。

1 个答案:

答案 0 :(得分:0)

使用user = mommy.make(User,first_name='lisa') 代替sameSite:'none'