Angular / Express CSRF方法

时间:2017-09-25 11:56:44

标签: angular express csrf

上下文:我正在使用Angular 1.6(从s3提供)+ Express.js(API),域名是相同的,身份验证是通过Authorization标头中的JWT令牌完成的,几乎所有通信都是通过ajax / xmlhttp请求,没有cookie与请求/响应一起发送,API对跨域请求是开放的。

问题:我需要添加CSRF保护。 90%的API请求都是ajax,但我也有几个地方使用常规HTTP POST调用...

到目前为止我学到的东西:如果要简短,我从很多文章中得到的是,针对CSRF的第一层防御设置正确的CORS,那么我也可以使用双cookie检查,最后是Synchronize Token

我打算做什么:添加GET /csrf api路由,在应用启动时调用它,在Redis中为用户存储令牌:sessionId键,将其返回给客户端并将其用作标题对于ajax请求并将其作为隐藏字段添加到s

问题:这是执行同步令牌类型防御的正确方法吗?如果我没有为API配置CORS,添加/ csrf api端点是否有意义? (现在配置CORS有点复杂,因为有些客户端使用来自不同域的API)

0 个答案:

没有答案