当前位置:网站首页>Swagger3 integrates oauth2 authentication token

Swagger3 integrates oauth2 authentication token

2022-06-23 06:55:00 zetor_ major

introduce swagger3

<!--Swagger3 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

Swagger3 stay header in , Conduct Authorization token Certification of , The configuration file :

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.OAS_30).pathMapping("/")

                //  Define whether to turn on swagger,false To close , It can be controlled by variables 
                .enable(swaggerProperties.getEnable())

                //  take api The meta information of is set to be included in json ResourceListing Response .
                .apiInfo(apiInfo())

                //  Interface debugging address 
                .host(swaggerProperties.getTryHost())

                //  Choose which interfaces to use as swagger Of doc Release 
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build()

                //  Set of supported communication protocols 
                .protocols(newHashSet("https", "http"))
                .securitySchemes(securitySchemes())
                .securityContexts(securityContexts());
    }

    /**
     *  Authenticated security context 
     */
    private List<SecurityScheme> securitySchemes() {
        List<SecurityScheme> securitySchemes = new ArrayList<>();
        securitySchemes.add(new ApiKey("Authorization", "Authorization", "header"));
        return securitySchemes;
    }

    /**
     *  Authorization information global application 
     */
    private List<SecurityContext> securityContexts() {
        List<SecurityContext> securityContexts = new ArrayList<>();
        securityContexts.add(SecurityContext.builder()
                .securityReferences(defaultAuth())
                .forPaths(PathSelectors.any()).build());
        return securityContexts;
    }

    private List<SecurityReference> defaultAuth() {
        AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
        AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
        authorizationScopes[0] = authorizationScope;
        List<SecurityReference> securityReferences = new ArrayList<>();
        securityReferences.add(new SecurityReference("Authorization", authorizationScopes));
        return securityReferences;
    }

visit swagger3 , Address :http://127.0.0.1:8080/swagger-ui/index.html,

Click on Authorize

Input token:

Save as follows

Source code address :

https://gitee.com/zetor2020/ym-paas-template/blob/master/src/main/resources/example/SwaggerConfig.java

 

原网站

版权声明
本文为[zetor_ major]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/174/202206230537383450.html