2016-10-20 7 views
7

내 API 문서에서 각 API 끝점에 필요한 보안을 정의하고 싶습니다. 프로젝트는 API에 액세스 할 수있는 사용자를 결정하는 역할 및 권한을 정의했습니다. 이 정보를 문서화하기 위해 Swagger에서 가장 좋은 방법은 무엇입니까? 이 세부 사항을 표시하는 방법에 대한 모범 사례 또는 권장 사항이 있습니까?Swagger에서 역할/권한 보안을 정의하는 방법

securityDefinitions와 자체 정의 된 변수를 사용해 보았지만이 정보 (x-role-names)는 swagger2markup 또는 swagger2markup을 통해 실행했을 때 문서로 복사되지 않았습니다. 너.

"securityDefinitions": { 
    "baseUserSecurity": { 
      "type": "basic", 
      "x-role-names": "test" 
     } 
    } 

엔드 포인트 당 역할 및 사용 권한 정보를 문서화하는 가장 좋은 방법은 무엇입니까?

답변

2

API에서 oAuth 인증을 사용하는 경우 이에 대한 범위를 사용할 수 있습니다. 기본 인증에 대해 Swagger/OpenApi에서 역할을 나타내는 표준 방법이 없기 때문에 Swagger-UI 또는 swagger2markup과 같은 도구는 사용자가 발견 한대로 해석 할 수있는 방법이 없습니다. 정보는 summary 또는 description의 텍스트로 표시됩니다.

유형을 모두 basic으로 정의하고 역할 당 하나씩 사용할 수 있지만 해킹 비트입니다.

다른 보안 구성표로 범위 사용 범위를 넓히 겠다는 제안은 https://github.com/OAI/OpenAPI-Specification/issues/1366을 참조하십시오.

+0

스펙에 설명이 있지만 개요는 표시되지 않습니다. 어떤 버전을 사용할 수 있습니까? 어느 쪽이든, 유감스럽게도 이러한 API는 일반 보안 블록에만 표시되며 더 이상적인 API 호출은 아닙니다. swagger2markup에서는 기본적으로 범위를 정의하는 것이 가능하지만 스펙에 위배되는 것처럼 보입니다. 그래서 나는 그것을 "해킹"하여 원하는대로 만들 수 있습니다.하지만 여전히 이상적은 아닙니다. – whatsTheDiff

+0

미안하지만, 나는 '개요'가 아닌 '개요'를 생각하고 있었는데, 이것은 securityDefinition이 아니라 운영 수준에있을 것입니다. – MikeRalphson

관련 문제