Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot springdoc openapi Swigger ui中的CSRF支持_Spring Boot_Csrf_Swagger Ui_Springdoc_Springdoc Openapi Ui - Fatal编程技术网

Spring boot springdoc openapi Swigger ui中的CSRF支持

Spring boot springdoc openapi Swigger ui中的CSRF支持,spring-boot,csrf,swagger-ui,springdoc,springdoc-openapi-ui,Spring Boot,Csrf,Swagger Ui,Springdoc,Springdoc Openapi Ui,当使用与springdoc openapi捆绑的CSRF头时,有没有一种方法可以自动将CSRF头包含到从swagger ui发出的请求中 springfox()中似乎实现了类似的解决方案,但我没有找到关于是否可以通过springdoc openapi实现这一点的信息。CSRF令牌在默认情况下是受支持的,如果您使用的是标准头(例如使用spring安全头) 如果需要CSRF令牌,swagger ui会在每个HTTP请求期间自动发送新的XSRF-Token 也就是说,如果您的XSRF-TOKEN不是基

当使用与springdoc openapi捆绑的CSRF头时,有没有一种方法可以自动将CSRF头包含到从swagger ui发出的请求中


springfox()中似乎实现了类似的解决方案,但我没有找到关于是否可以通过springdoc openapi实现这一点的信息。

CSRF令牌在默认情况下是受支持的,如果您使用的是标准头(例如使用spring安全头)

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

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

此外,随着浏览器增加了对跨源请求cookie包含控件的用户代理级别支持,CSRF也变得越来越重要

从springdoc openapi的v1.4.4版开始,添加了一个新属性以启用CSRF支持,同时使用标准头名称:

springdoc.swagger-ui.csrf.enabled=true

默认情况下,SwaggerUI不将CSRF-TOKEN包括在请求中

如果使用React,则可以重用以下代码以手动将其包括在内:

从“React”导入React;
从“swagger ui react”导入swagger ui
导入“招摇过市用户界面反应/招摇过市用户界面.css”
从“通用cookie”导入cookie;
const cookies=新cookies();
常数DocsPage=()=>(
{
request.headers['X-XSRF-TOKEN']=cookies.get(“XSRF-TOKEN”)
}}/>
);

导出默认文档你可以参考下面的链接,我不知道我是否能帮你。你已经提供了Springfox问题的链接。问题是如何在Springdoc库中实现CSRF支持。您能给我们分享一个最小的可运行示例吗?谢谢,我将尝试使用requestInterceptor。但是,我无法使用标准标题获得自动支持,以下是我的最小示例:。我是否遗漏了一些可以让它工作的东西?starman,您可以使用springdoc openapi的最新快照进行测试,该快照添加了对CSRF的开箱即用支持: