如何为swagger-ui和swagger-codegen启用csrf支持

时间:2019-07-12 09:29:11

标签: angular spring-boot swagger-ui swagger-codegen

我有一个使用Spring Boot和Angular 6构建的应用程序。我还使用Swagger-codegen生成了API客户端。一切正常,但是最近发现该应用程序容易受到CSRF的攻击。因此,我通过在服务器端使用CsrfTokenRepository在cookie中实现了CSRF令牌,如下所示:

http.csrf().ignoringAntMatchers(CSRF_IGNORE).csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());

,对于Angular:

HttpClientXsrfModule.withOptions({cookieName: 'XSRF-TOKEN'}),

现在,该应用程序运行良好,但是swagger-ui和通用API客户端无法运行。它抛出:

  

在请求参数'_csrf'或标头'X-XSRF-TOKEN'上发现无效的CSRF令牌'null'。

我已经进行了搜索,发现了swaggerspringfox-swagger-ui的一些问题。特别是,这非常有用https://github.com/springfox/springfox/issues/1450。但我对如何使用此功能或是否可行没有任何想法。在其他大多数地方,开发人员都忽略了CSRF中的swagger-ui

任何帮助将不胜感激。

谢谢

0 个答案:

没有答案