问题描述
我已经在谷歌上搜索了一段时间,但仍然无法在我的 nestJS 应用和 Nuxt SSR 前端之间获得有效的 CSURF CSRF 保护。
目前我在 nest main.js 中有这个实现:
app.use(cookieParser());
app.use(csurf({ cookie: true }));
app.use((req,res,next) => {
const token = req.csrftoken();
res.cookie('XSRF-TOKEN',token);
next();
});
我不确定这是正确的方法,但到目前为止我找到了这个解决方案。 token
变量正在更改每个请求。根据我的理解,req.cookie
将此令牌设置为名为 XSRF-TOKEN
的 cookie,它应该在我的客户端可用。
export default function ({ $axios,$cookies }) {
$axios.onRequest(() => {
const token = $cookies.get('XSRF-TOKEN')
$axios.defaults.headers.common['x-xsrf-token'] = token
})
}
这里有两种行为:
我的问题是如何在这些库之间实现安全的 csrf 保护?
附加信息:
$cookies
来自库 cookie-universal-nuxt
lib
我还在 axios 调用上设置了 withCredentials: true
:
await this.$axios.patch(`endpoint`,{},{ withCredentials: true })
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)