在响应主体与响应cookie标头中返回CSRF令牌是否更不安全?

问题描述

通过res.json()返回csrf令牌是否比通过res.cookie()返回的安全性更低?

我的项目配置设置如下:

域:

front-end:  "https://front.domainA.com"    // AWS Amplify,React
back-end:   "https://back.domainB.com"     // AWS Amplify,Express.js

更多详细信息

请注意,我已经测试了在本地主机端口(前端:3000,后端:5000)之间共享cookie的问题。

也就是说,现在我的应用程序位于真实域中,因此不再允许读取来自另一个域生成的cookie。我针对该问题创建了单独的帖子。 You can read it here。如果您对该问题有答案,请在该主题中答复。

因此,我希望在响应正文中返回CSRF令牌,如下所示:

static async csrfToken(req,res,next) {
    console.log("catching waves...");

    return res.status(200).json({ "csrf-token": req.csrfToken() });
}

代替响应标头中的 cookie ,如下所示:

static async csrfToken(req,next) {
    console.log("catching waves...");

    res.cookie("csrf-token",req.csrfToken(),{
        secure: true,sameSite: "none",});
    return res.status(200).json({ message: "We be surfing!" });
}

回到我原来的问题。

响应正文中返回CSRF令牌是否不太安全?与返回Cookie相比,这样做有什么缺点吗?

预先感谢您的回答。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)