我在代码库中添加了Swagger UI插件。在添加JWT身份验证之前,它运行良好。我可以只申请.permitAll()
,但我不希望所有人都可以访问我的Swagger页面。下面是我的Swagger配置
@EnableSwagger2
public class SpringFoxConfig {
private Logger logger = LoggerFactory.getLogger(SpringFoxConfig.class);
@Bean
public Docket api() {
logger.info("Starting Swagger");
return new Docket(DocumentationType.SWAGGER_2)
.forCodeGeneration(true)
.enableUrlTemplating(true)
.useDefaultResponseMessages(false)
.select()
.apis(RequestHandlerSelectors.basePackage("com.***.controllers"))
.paths(PathSelectors.any())
.build().apiInfo(apiEndPointsInfo());
}
pom.xml
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-bean-validators</artifactId>
<version>2.9.2</version>
</dependency>
我想进入页面询问auth标头JWT,但它抛出403禁止错误。
这来自我的安全配置文件:
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/v2/**").permitAll()
有人推荐我尝试吗?我希望Swagger在打开JWT令牌时要求它。