2017-01-09 4 views
2

저는 각도 2 프론트 엔드로 스프링 부트를 사용하고 있습니다. 필자의 허풍 구성에 권한을 추가하고 싶습니다.Springfox에 인증 헤더 추가

@Configuration 
@EnableSwagger2 
public class SwaggerConfig { 

    @Bean 
    public Docket api() { 
     return new Docket(DocumentationType.SWAGGER_2) 

      .select()         
      .apis(RequestHandlerSelectors.basePackage("mybasepackage")) 
      .paths(PathSelectors.ant("/api/*")) 

      .build();           
    } 

} 

내 응용 프로그램 권한 부여에 대한 JWT 필터를 사용하고, 나는 그것이 사용자의 브라우저에 만료되지 않은 것 같은 자신감이 한 토큰을 사용하려면 : 같은

나의 현재 springfox 설정 보인다. 내가 Springfox을 사용하고 있기 때문에 나는이 옵션이 없습니다

function addApiKeyAuthorization() { 
    var key = JSON.parse(localStorage.getItem("ls.authentication-token")); 
    if (key && key.trim() != "") { 
    var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("Authorization", "Bearer " + key, "header"); 
    window.swaggerUi.api.clientAuthorizations.add("bearer", apiKeyAuth); 
    log("Set bearer token: " + key); 
    } 
} 

:

은 내가 이런 식으로 HTML 파일에 추가 할 수 있다고 보았다. Docket API를 통해 추가 할 수있는 방법이 있습니까? 당신의 SwaggerConfig 클래스, Authorization 헤더에 JWT 토큰을 추가하려면 다음 빈을 추가하기 위해

+0

당신이 springfox을 사용하고 있기 때문에 해당 옵션이없는 이유는 무엇입니까? – jmattheis

+0

HTML 파일 – Bhetzie

답변

2

나는 springfox-swagger2와 springfox-swagger-ui라는 두 가지 종속성이 있습니다. 나는 springfox-swagger-ui 의존성을 제거했다.

Jhipster는 springfox-swagger2에서 패키지 된 swagger 파일을 호출하는 예제를 사용했습니다. 몇 가지 작은 변경 사항으로이 예제를 사용할 수있었습니다.

swagger-ui 구성을 내 공용 폴더에 추가했습니다. 지금 HTML 파일을 생성하는 대신 생성하는 대신 자바 스크립트를 사용하여 JWT 토큰을 설정할 수 있습니다.

내 토큰이 JSON에 저장, 그래서하지 않았다된다

var key = localStorage.getItem("MyTokenName"); 

대신

var key = JSON.parse(localStorage.getItem("MyTokenName")); 
2

:

@Bean 
public SecurityConfiguration security() { 
    return new SecurityConfiguration(null, // "client id", 
      null, // "client secret", 
      null, // "realm", 
      null, // "app", 
      "Bearer " + yourToken, ApiKeyVehicle.HEADER, "Authorization", "," /* scope separator */); 
} 

당신은 자세한 내용은 here를 찾을 수 있습니다.

+0

이 생성되지 않았습니다./ – Bhetzie

+0

설명서의 Spring MVC 및 스프링 부트 장 2.1.3 Springfox-swagger2를 확인하십시오. 아마도 도움이 될 것입니다. 이 SecurityConfiguration 빈 선언은 내 봄 mvc + 봄 보안 + swagger + jwt 구현에서 작동했습니다. – haihui