2016-06-07 3 views
0

내 프로젝트에 OpenAPI 지원을 구축하고 있지만 권한이 부여 된 사용자 만 swagger.yaml 파일을 사용할 수 있어야합니다.Swagger.yaml 파일의 보안을 설정하려면 어떻게해야합니까?

Swagger UI 및 Swagger Editor 모두 swagger.yaml 파일을 공개적으로 액세스 할 수 있어야합니다.

나는 여러 가지 방법으로 생각하고있다. 하나는 "서명 된"URL을 사용하는 것일 수 있습니다 (S3와 유사). 링크가있는 사람들 만 액세스 할 수 있습니다.

좋은 연습이란 무엇입니까?

답변

0

나는 그것을 알아 냈다.

권한 부여 객체 자신감-JS에 전달 될 다음 Swagger-UI github pageindex.html에서 설정 될 수 authorizations 매개 변수에 대한 설명이있다. 여기에 설정하면 Swagger 설명 파일을 가져올 때 권한 부여 또는 사용자 정의 서명 논리가 포함됩니다. 객체 구조는 {key : AuthorizationObject} 여야합니다.

Swagger-UI를 보호하는 Node.js 서버를 설정했습니다. 토큰이 쿠키에 설정되어 있지 않으면 OAuth 2.0 흐름을 통해 사용자에게 지시하고 쿠키를 설정 한 다음 swagger-ui로 전달합니다. swagger.yaml 파일을 다운로드 할 때

authorizations: { 
     "_auth": new SwaggerClient.ApiKeyAuthorization(
      "Authorization", "Bearer "+ Cookies.get("MyAccessToken"), 
      "header") 
    } 

헤더는 다음 서버로 전달되어 다음과 같이

자신감-UI를 차례로 authorizations 매개 변수를 설정하고있다.