使用SameSite Cookies禁用Spring Security CSRF保护

时间:2018-09-13 14:53:51

标签: spring security cookies csrf samesite

因此,我们拥有一个通过JWT访问令牌保护的平台。要访问平台REST API,我们在Bearer Authorization标头中发送令牌;当获取静态内容(例如SPA的代码,CSS,字体,甚至在SPA之间跳转)时,我们会在Cookie中发送令牌,因为我们无法控制这些请求。到目前为止我们还可以...

有时我们在API中添加了Spring Security。这使我们更容易一些事情,但是SonarQube显示了有关禁用Spring Security的CSRF保护的警告(在配置我们的框架 pfff时,我们使用标头来传输JWT,我们的API不需要CSRF保护),但我们还是试图解决该警告。

调查中我们遇到了Cookies的let sessionManager = SessionManager() override init() { sessionManager.adapter = RequestAdapter.self as? RequestAdapter sessionManager.retrier = OAuth2Handler() } func sendRequest(url: String,meth: HTTPMethod,parameters: [String: AnyObject]?, success: @escaping (String, Data) -> Void, failure: @escaping (Error) -> Void) { self.asyncSerialWorker.enqueueWork { (done) in self.sessionManager.request(url, method:meth).responseJSON { (responseObject) -> Void in if responseObject.result.isSuccess { print("Generic succsess") let value = responseObject.result.value let json = JSON(value!) guard let result = responseObject.data else {return} success(self.parser.parseMaiden(json: json), result) } if responseObject.result.isFailure { let error : Error = responseObject.result.error! print("login failed") failure(error) } done() } } } 属性,如果能解决所有问题,我们会感到困惑。

因此问题将是: SameSite cookie的属性是否足以保护CRSF?

如果是这样,有没有办法让Spring Security / SonarQube可以抵御此类攻击?

0 个答案:

没有答案