6

我想在通用应用程序的反应服务器中添加csurf作为快速中间件。

我想要实现的是将 csrf 令牌添加到反应组件中表单中的隐藏输入中,以维护服务器呈现的网站将提供的相同 csrf 保护流,但在 SPA 中。

这在反应服务器中技术上可行吗?如果是这样,我如何通过页面(理想情况下)将响应对象中可用的 csrf 令牌传递给反应组件?

4

1 回答 1

2

我实际上遇到了同样的问题,幸运的是在这里遇到了解决方案:https ://github.com/kriasoft/react-starter-kit/issues/1142

使用它只需:

app.use(csrf({ cookie: true, value: (req) => (req.cookies.csrfToken) }));

然后为每个获取请求设置一个带有 csrf 令牌的 cookie:

res.cookie('csrfToken', req.csrfToken ? req.csrfToken() : null, { sameSite: true, httpOnly: true }); 
于 2017-07-19T22:39:55.307 回答