|
@@ -1,6 +1,7 @@
|
|
|
package com.sky.ioc.config;
|
|
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
+import io.swagger.v3.oas.annotations.enums.SecuritySchemeIn;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
@@ -8,11 +9,15 @@ import springfox.documentation.builders.ApiInfoBuilder;
|
|
|
import springfox.documentation.builders.PathSelectors;
|
|
|
import springfox.documentation.builders.RequestHandlerSelectors;
|
|
|
import springfox.documentation.oas.annotations.EnableOpenApi;
|
|
|
-import springfox.documentation.service.ApiInfo;
|
|
|
-import springfox.documentation.service.Contact;
|
|
|
+import springfox.documentation.service.*;
|
|
|
import springfox.documentation.spi.DocumentationType;
|
|
|
+import springfox.documentation.spi.service.contexts.SecurityContext;
|
|
|
import springfox.documentation.spring.web.plugins.Docket;
|
|
|
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
/**
|
|
|
* Swagger的接口配置
|
|
|
*/
|
|
@@ -35,7 +40,9 @@ public class SwaggerConfig {
|
|
|
.apiInfo(apiInfo())
|
|
|
.select()
|
|
|
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
|
|
|
- .paths(PathSelectors.any()).build();
|
|
|
+ .paths(PathSelectors.any()).build().securityContexts(Arrays.asList(securityContext()))
|
|
|
+ // ApiKey的name需与SecurityReference的reference保持一致
|
|
|
+ .securitySchemes(Arrays.asList(new ApiKey("token", "token", SecuritySchemeIn.HEADER.name())));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -51,6 +58,23 @@ public class SwaggerConfig {
|
|
|
// 作者信息
|
|
|
.contact(new Contact(SkyConfig.getName(), null, null))
|
|
|
// 版本
|
|
|
- .version("版本号:" + SkyConfig.getVersion()).build();
|
|
|
+ .version("版本号:" + SkyConfig.getVersion())
|
|
|
+ .build();
|
|
|
+ }
|
|
|
+
|
|
|
+ private SecurityContext securityContext() {
|
|
|
+ return SecurityContext.builder()
|
|
|
+ .securityReferences(defaultAuth())
|
|
|
+ //.forPaths(PathSelectors.regex("/*.*"))
|
|
|
+ .build();
|
|
|
}
|
|
|
+ private List<SecurityReference> defaultAuth() {
|
|
|
+ AuthorizationScope authorizationScope
|
|
|
+ = new AuthorizationScope("global", "accessEverything");
|
|
|
+ AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
|
|
|
+ authorizationScopes[0] = authorizationScope;
|
|
|
+ return Collections.singletonList(
|
|
|
+ new SecurityReference("token", authorizationScopes));
|
|
|
+ }
|
|
|
+
|
|
|
}
|