Fix swagger security builder error

pull/146/head
johnniang 2019-04-29 17:43:18 +08:00
parent 259a47e238
commit 059054c425
10 changed files with 22 additions and 18 deletions

View File

@ -63,11 +63,13 @@ public class SwaggerConfiguration {
@Bean @Bean
public Docket haloDefaultApi() { public Docket haloDefaultApi() {
log.debug("Doc disabled: [{}]", haloProperties.isDocDisabled()); if (haloProperties.isDocDisabled()) {
// TODO Build with different security configuration log.debug("Doc has been disabled");
}
return buildApiDocket("run.halo.app.content.api", return buildApiDocket("run.halo.app.content.api",
"run.halo.app.controller.content.api", "run.halo.app.controller.content.api",
"/api/**") "/api/portal/**")
.securitySchemes(portalApiKeys()) .securitySchemes(portalApiKeys())
.securityContexts(portalSecurityContext()) .securityContexts(portalSecurityContext())
.enable(!haloProperties.isDocDisabled()); .enable(!haloProperties.isDocDisabled());
@ -75,8 +77,10 @@ public class SwaggerConfiguration {
@Bean @Bean
public Docket haloAdminApi() { public Docket haloAdminApi() {
log.debug("Doc disabled: [{}]", haloProperties.isDocDisabled()); if (haloProperties.isDocDisabled()) {
// TODO Build with different security configuration log.debug("Doc has been disabled");
}
return buildApiDocket("run.halo.app.admin", return buildApiDocket("run.halo.app.admin",
"run.halo.app.controller.admin", "run.halo.app.controller.admin",
"/api/admin/**") "/api/admin/**")
@ -129,7 +133,7 @@ public class SwaggerConfiguration {
return Collections.singletonList( return Collections.singletonList(
SecurityContext.builder() SecurityContext.builder()
.securityReferences(defaultAuth()) .securityReferences(defaultAuth())
.forPaths(PathSelectors.ant("/api/admin/**")) .forPaths(PathSelectors.regex("/api/admin/.*"))
.build() .build()
); );
} }
@ -145,17 +149,17 @@ public class SwaggerConfiguration {
return Collections.singletonList( return Collections.singletonList(
SecurityContext.builder() SecurityContext.builder()
.securityReferences(defaultAuth()) .securityReferences(defaultAuth())
.forPaths(PathSelectors.ant("/api/**")) .forPaths(PathSelectors.regex("/api/portal/.*"))
.build() .build()
); );
} }
private List<SecurityReference> defaultAuth() { private List<SecurityReference> defaultAuth() {
AuthorizationScope[] authorizationScopes = {new AuthorizationScope("global", "accessEverything")}; 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() { private ApiInfo apiInfo() {
return new ApiInfoBuilder() return new ApiInfoBuilder()
.title("Halo API Documentation") .title("Halo API Documentation")

View File

@ -16,7 +16,7 @@ import java.util.List;
* @date 4/2/19 * @date 4/2/19
*/ */
@RestController("ApiContentArchiveController") @RestController("ApiContentArchiveController")
@RequestMapping("/api/archives") @RequestMapping("/api/portal/archives")
public class ArchiveController { public class ArchiveController {
private final PostService postService; private final PostService postService;

View File

@ -21,7 +21,7 @@ import static org.springframework.data.domain.Sort.Direction.DESC;
* @date 19-4-26 * @date 19-4-26
*/ */
@RestController("PortalJournalController") @RestController("PortalJournalController")
@RequestMapping("/api/journals") @RequestMapping("/api/portal/journals")
public class JournalController { public class JournalController {
private final JournalService journalService; private final JournalService journalService;

View File

@ -18,7 +18,7 @@ import java.util.List;
* @date 4/3/19 * @date 4/3/19
*/ */
@RestController("ApiContentLinkController") @RestController("ApiContentLinkController")
@RequestMapping("/api/links") @RequestMapping("/api/portal/links")
public class LinkController { public class LinkController {
private final LinkService linkService; private final LinkService linkService;

View File

@ -20,7 +20,7 @@ import static org.springframework.data.domain.Sort.Direction.DESC;
* @date 4/3/19 * @date 4/3/19
*/ */
@RestController("ApiContentMenuController") @RestController("ApiContentMenuController")
@RequestMapping("/api/menus") @RequestMapping("/api/portal/menus")
public class MenuController { public class MenuController {
private final MenuService menuService; private final MenuService menuService;

View File

@ -18,7 +18,7 @@ import java.util.Map;
* @date 4/3/19 * @date 4/3/19
*/ */
@RestController("ApiContentOptionController") @RestController("ApiContentOptionController")
@RequestMapping("/api/options") @RequestMapping("/api/portal/options")
public class OptionController { public class OptionController {
private final OptionService optionService; private final OptionService optionService;

View File

@ -29,7 +29,7 @@ import static org.springframework.data.domain.Sort.Direction.DESC;
* @date 4/2/19 * @date 4/2/19
*/ */
@RestController("ApiContentPostController") @RestController("ApiContentPostController")
@RequestMapping("/api/posts") @RequestMapping("/api/portal/posts")
public class PostController { public class PostController {
private final PostService postService; private final PostService postService;

View File

@ -23,7 +23,7 @@ import static org.springframework.data.domain.Sort.Direction.DESC;
* @date 19-4-26 * @date 19-4-26
*/ */
@RestController("PortalSheetController") @RestController("PortalSheetController")
@RequestMapping("/api/sheets") @RequestMapping("/api/portal/sheets")
public class SheetController { public class SheetController {
private final SheetService sheetService; private final SheetService sheetService;

View File

@ -27,7 +27,7 @@ import static org.springframework.data.domain.Sort.Direction.DESC;
* @date 4/2/19 * @date 4/2/19
*/ */
@RestController("ApiContentTagController") @RestController("ApiContentTagController")
@RequestMapping("/api/tags") @RequestMapping("/api/portal/tags")
public class TagController { public class TagController {
private final TagService tagService; private final TagService tagService;

View File

@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
* @date 4/3/19 * @date 4/3/19
*/ */
@RestController("ApiContentUserController") @RestController("ApiContentUserController")
@RequestMapping("/api/users") @RequestMapping("/api/portal/users")
public class UserController { public class UserController {
private final UserService userService; private final UserService userService;