Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

IT could be

Swagger Authorize 버튼으로 JWT token test 하기 본문

개발공부 εїз

Swagger Authorize 버튼으로 JWT token test 하기

얘진 2022. 12. 22. 15:10

Swagger 적용은 아래의 링크에서 확인하세요 !

Swagger 적용

 

SpringBoot REST API 명세 문서화 - Swagger

> Swagger 3.0.0 의존성 추가를 위해 build.gradle dependencies에 추가 implementation "io.springfox:springfox-boot-starter:3.0.0" implementation "io.springfox:springfox-swagger-ui:3.0.0" configuration/SwaggerConfig.java @Configuration public class

itcouldbe-v.tistory.com

 

 

 

JWT 토큰으로 인증 때 swagger에 Authorize 버튼을 이용해서 key를 포함해서 TEST 할 수 있다.

 

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiKey;
import springfox.documentation.service.AuthorizationScope;
import springfox.documentation.service.SecurityReference;
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.List;

@Configuration
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.OAS_30)
                .securityContexts(Arrays.asList(securityContext()))
                .securitySchemes(Arrays.asList(apiKey()))
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }

    private SecurityContext securityContext() {
        return SecurityContext.builder()
                .securityReferences(defaultAuth())
                .build();
    }

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

    private ApiKey apiKey() {
        return new ApiKey("Authorization", "Authorization", "header");
    }
}

 

import 패키지 까지 포함한 코드다.

 

 

Value 안에 Bearer 를 맨 앞에 붙여 JWT를 넣고 Authorize 하면 된다. 

 

 

Logout or Close를 선택한다.

 

JWT token을 넣어서 test 성공 ! 

'개발공부 εїз' 카테고리의 다른 글

Convention  (0) 2022.12.28
Lombok @NoArgsConstructor 와 @Builder 그리고 @AllArgsConstructor  (0) 2022.12.23
Linux 시간 한국 표준시(KST) 변경하기  (0) 2022.12.13
Linux crontab  (0) 2022.12.13
Docker 명령어  (0) 2022.12.12
Comments