From 059054c42532a4280b6e44285e9d0844f561b9f7 Mon Sep 17 00:00:00 2001 From: johnniang Date: Mon, 29 Apr 2019 17:43:18 +0800 Subject: [PATCH] Fix swagger security builder error --- .../halo/app/config/SwaggerConfiguration.java | 22 +++++++++++-------- .../content/api/ArchiveController.java | 2 +- .../content/api/JournalController.java | 2 +- .../content/api/LinkController.java | 2 +- .../content/api/MenuController.java | 2 +- .../content/api/OptionController.java | 2 +- .../content/api/PostController.java | 2 +- .../content/api/SheetController.java | 2 +- .../controller/content/api/TagController.java | 2 +- .../content/api/UserController.java | 2 +- 10 files changed, 22 insertions(+), 18 deletions(-) diff --git a/src/main/java/run/halo/app/config/SwaggerConfiguration.java b/src/main/java/run/halo/app/config/SwaggerConfiguration.java index 034247e89..42fb1306d 100644 --- a/src/main/java/run/halo/app/config/SwaggerConfiguration.java +++ b/src/main/java/run/halo/app/config/SwaggerConfiguration.java @@ -63,11 +63,13 @@ public class SwaggerConfiguration { @Bean public Docket haloDefaultApi() { - log.debug("Doc disabled: [{}]", haloProperties.isDocDisabled()); - // TODO Build with different security configuration + if (haloProperties.isDocDisabled()) { + log.debug("Doc has been disabled"); + } + return buildApiDocket("run.halo.app.content.api", "run.halo.app.controller.content.api", - "/api/**") + "/api/portal/**") .securitySchemes(portalApiKeys()) .securityContexts(portalSecurityContext()) .enable(!haloProperties.isDocDisabled()); @@ -75,8 +77,10 @@ public class SwaggerConfiguration { @Bean public Docket haloAdminApi() { - log.debug("Doc disabled: [{}]", haloProperties.isDocDisabled()); - // TODO Build with different security configuration + if (haloProperties.isDocDisabled()) { + log.debug("Doc has been disabled"); + } + return buildApiDocket("run.halo.app.admin", "run.halo.app.controller.admin", "/api/admin/**") @@ -129,7 +133,7 @@ public class SwaggerConfiguration { return Collections.singletonList( SecurityContext.builder() .securityReferences(defaultAuth()) - .forPaths(PathSelectors.ant("/api/admin/**")) + .forPaths(PathSelectors.regex("/api/admin/.*")) .build() ); } @@ -145,17 +149,17 @@ public class SwaggerConfiguration { return Collections.singletonList( SecurityContext.builder() .securityReferences(defaultAuth()) - .forPaths(PathSelectors.ant("/api/**")) + .forPaths(PathSelectors.regex("/api/portal/.*")) .build() ); } private List defaultAuth() { AuthorizationScope[] authorizationScopes = {new AuthorizationScope("global", "accessEverything")}; - return Collections.singletonList(new SecurityReference("TOKEN ACCESS", authorizationScopes)); + return Arrays.asList(new SecurityReference("Token from header", authorizationScopes), + new SecurityReference("Token from query", authorizationScopes)); } - private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Halo API Documentation") diff --git a/src/main/java/run/halo/app/controller/content/api/ArchiveController.java b/src/main/java/run/halo/app/controller/content/api/ArchiveController.java index a7365e627..9e6253d79 100644 --- a/src/main/java/run/halo/app/controller/content/api/ArchiveController.java +++ b/src/main/java/run/halo/app/controller/content/api/ArchiveController.java @@ -16,7 +16,7 @@ import java.util.List; * @date 4/2/19 */ @RestController("ApiContentArchiveController") -@RequestMapping("/api/archives") +@RequestMapping("/api/portal/archives") public class ArchiveController { private final PostService postService; diff --git a/src/main/java/run/halo/app/controller/content/api/JournalController.java b/src/main/java/run/halo/app/controller/content/api/JournalController.java index 8afada7be..80d9eece3 100644 --- a/src/main/java/run/halo/app/controller/content/api/JournalController.java +++ b/src/main/java/run/halo/app/controller/content/api/JournalController.java @@ -21,7 +21,7 @@ import static org.springframework.data.domain.Sort.Direction.DESC; * @date 19-4-26 */ @RestController("PortalJournalController") -@RequestMapping("/api/journals") +@RequestMapping("/api/portal/journals") public class JournalController { private final JournalService journalService; diff --git a/src/main/java/run/halo/app/controller/content/api/LinkController.java b/src/main/java/run/halo/app/controller/content/api/LinkController.java index 823929948..9e2ba4842 100644 --- a/src/main/java/run/halo/app/controller/content/api/LinkController.java +++ b/src/main/java/run/halo/app/controller/content/api/LinkController.java @@ -18,7 +18,7 @@ import java.util.List; * @date 4/3/19 */ @RestController("ApiContentLinkController") -@RequestMapping("/api/links") +@RequestMapping("/api/portal/links") public class LinkController { private final LinkService linkService; diff --git a/src/main/java/run/halo/app/controller/content/api/MenuController.java b/src/main/java/run/halo/app/controller/content/api/MenuController.java index 1a06bc774..2955987ff 100644 --- a/src/main/java/run/halo/app/controller/content/api/MenuController.java +++ b/src/main/java/run/halo/app/controller/content/api/MenuController.java @@ -20,7 +20,7 @@ import static org.springframework.data.domain.Sort.Direction.DESC; * @date 4/3/19 */ @RestController("ApiContentMenuController") -@RequestMapping("/api/menus") +@RequestMapping("/api/portal/menus") public class MenuController { private final MenuService menuService; diff --git a/src/main/java/run/halo/app/controller/content/api/OptionController.java b/src/main/java/run/halo/app/controller/content/api/OptionController.java index eeb428961..8606c08b3 100644 --- a/src/main/java/run/halo/app/controller/content/api/OptionController.java +++ b/src/main/java/run/halo/app/controller/content/api/OptionController.java @@ -18,7 +18,7 @@ import java.util.Map; * @date 4/3/19 */ @RestController("ApiContentOptionController") -@RequestMapping("/api/options") +@RequestMapping("/api/portal/options") public class OptionController { private final OptionService optionService; diff --git a/src/main/java/run/halo/app/controller/content/api/PostController.java b/src/main/java/run/halo/app/controller/content/api/PostController.java index 45428dac1..fd5a004aa 100644 --- a/src/main/java/run/halo/app/controller/content/api/PostController.java +++ b/src/main/java/run/halo/app/controller/content/api/PostController.java @@ -29,7 +29,7 @@ import static org.springframework.data.domain.Sort.Direction.DESC; * @date 4/2/19 */ @RestController("ApiContentPostController") -@RequestMapping("/api/posts") +@RequestMapping("/api/portal/posts") public class PostController { private final PostService postService; diff --git a/src/main/java/run/halo/app/controller/content/api/SheetController.java b/src/main/java/run/halo/app/controller/content/api/SheetController.java index 136615001..b25e61a10 100644 --- a/src/main/java/run/halo/app/controller/content/api/SheetController.java +++ b/src/main/java/run/halo/app/controller/content/api/SheetController.java @@ -23,7 +23,7 @@ import static org.springframework.data.domain.Sort.Direction.DESC; * @date 19-4-26 */ @RestController("PortalSheetController") -@RequestMapping("/api/sheets") +@RequestMapping("/api/portal/sheets") public class SheetController { private final SheetService sheetService; diff --git a/src/main/java/run/halo/app/controller/content/api/TagController.java b/src/main/java/run/halo/app/controller/content/api/TagController.java index b2f5e95cb..8a5a7be09 100644 --- a/src/main/java/run/halo/app/controller/content/api/TagController.java +++ b/src/main/java/run/halo/app/controller/content/api/TagController.java @@ -27,7 +27,7 @@ import static org.springframework.data.domain.Sort.Direction.DESC; * @date 4/2/19 */ @RestController("ApiContentTagController") -@RequestMapping("/api/tags") +@RequestMapping("/api/portal/tags") public class TagController { private final TagService tagService; diff --git a/src/main/java/run/halo/app/controller/content/api/UserController.java b/src/main/java/run/halo/app/controller/content/api/UserController.java index a97c36408..4cd79ce28 100644 --- a/src/main/java/run/halo/app/controller/content/api/UserController.java +++ b/src/main/java/run/halo/app/controller/content/api/UserController.java @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController; * @date 4/3/19 */ @RestController("ApiContentUserController") -@RequestMapping("/api/users") +@RequestMapping("/api/portal/users") public class UserController { private final UserService userService;