实施JWT身份验证时,Swagger UI抛出403

时间:2020-04-21 18:30:07

标签: spring-boot swagger swagger-2.0

我在代码库中添加了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令牌时要求它。

0 个答案:

没有答案