当前位置: 首页 > 知识库问答 >
问题:

springdoc-openapi swagger-ui中的CSRF支持

长孙阳嘉
2023-03-14

当使用与SpringDoc-OpenAPI捆绑的CSRF头时,是否有一种方法可以自动地将CSRF头包含到从swagger ui发出的请求中?

springfox(GitHub)中似乎实现了类似的解决方案,但我没有找到关于是否可以用SpringDoc-OpenAPI实现这一点的信息。

共有1个答案

解沈义
2023-03-14

如果使用标准头(例如使用spring-security头),则默认支持CSRF令牌

如果需要CSRF令牌,swagger-ui会在每个HTTP请求期间自动发送新的XSRF-TOKEN。

也就是说,如果您的XSRF-TOKEN不是基于标准的,您可以使用requestInterceptor手动捕获最新的xsrf token并通过spring resource Transformer以编程方式将其附加到请求:

    null
springdoc.swagger-ui.csrf.enabled=true
 类似资料:
  • 我使用的Java库在版本1.4.0(通过Maven)没有任何定制在一个简单的Spring启动项目。 招摇过市页面是在下面生成的https://my-url.com/my-context-path/swagger-ui/index.html 以及api文档https://my-url.com/my-context-path/v3/api-docs/ 这两种方法都有效,我可以找到它们。到现在为止,一直

  • 是否可以使用接口而不是实现这些接口的控制器类来生成swagger ui文档? 将文档放在实现类中会使它看起来杂乱无章。Springfox有这个选项,它在springdoc中可用吗?如果是,怎么做?

  • 我有一个Spring Boot应用程序,其中API被指定为OpenAPI 3.0.2 YAML文档。我使用openapi生成器maven插件从规范生成代码http://localhost:8080/swagger-用户界面。html,它显示:“规范中未定义任何操作!” 在规范中,我有: 这导致控制器类中出现以下情况: 如果我加载openapi定义。编辑亚马尔。大摇大摆io,它显示了预期的定义。 如

  • 但是当点击enter按钮时,url将变为以下内容: http://localhost:8181/manager/swagger-ui/index.html?configurl=/manager/swagger/swagger.json/swagger-config 问题是,当我点击enter(我需要单词“swagger-UI”并配置消失)时,如何使路径仅为http://localhost:8181

  • 我已经阅读了关于如何在反向代理后为springdoc提供服务的文档(https://springdoc.org/index.html#how-can-i-deploy-springdoc-openapi-ui-behind-a-reverse-proxy)并检查了所有关于该主题的问题,但仍然存在问题。 我在nginx的子目录中提供spring boot(2.6.2版本)应用程序: 我还按照文档配置

  • 我想在一个生成的服务中使用springdoc-openapi-ui,但是生成的API使用了错误的包,它使用io.swagger.annotations而不是io.swagger.v3.oas.annotations 我能为此做些什么?