问题描述
通过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 (将#修改为@)