2017-12-05 13 views
1

인증이 선택적 인 다양한 엔드 포인트를 포함하는 기존 API를 문서화하려고합니다. 즉, 권한이 부여 된 사용자가 승인되지 않은 경우보다 많은 데이터가 반환됩니다.openapi v3에서는 끝점의 인증을 지정하는 방법은 선택 사항입니까?

OAspec v3에서 명시 적으로 찾을 수 없습니다. 이 상황을 정의하는 코딩 트릭이 있습니까?

내 현재 해결 방법은 권한 부여를 코드하는 것이지만, 끝점 쓰기에 대한 인증은 선택 사항임을 나타냅니다. 이것은 효과적이며 적절합니다. 그러나 내 안에있는 순수 주의자는 다른 방법이 있는지 의아해합니다.

답변

2

는, 보안 옵션 만드는 security 배열에 빈 요구 사항 {}을 추가하려면 :

security: 
    - {} # <---- 
    - api_key: [] 

이 엔드 포인트가 또는 보안없이 호출 할 수 있다는 것을 의미한다.

출처 : OpenAPI 사양 저장소의 this comment.

+0

브라보, 헬렌! 이 분 전에 테스트되었고 swagger-ui를 사용하여 OpenAPI 파일을 실행할 때 나타나는 동작은 원래 내가 원했던 것입니다. – Mike

+0

@Mike : 다행스럽게 도울 수있어! 동일한 질문을 가진 다른 사용자가 대답을 볼 수 있도록이 대답을 [해결책] (https://meta.stackexchange.com/a/5235/131247)으로 표시하는 것을 고려하십시오. – Helen

1

방금 ​​배운 것은 여러 인증 프로토콜에 맞는 해시 맵 배열을 가질 수 있다는 것입니다.

두 가지 예 :

security: # protocol A or protocol B 
    - A 
    - B 

security: protocol A and protocol B 
    - A 
     B 
+0

아마도 보안 요구 사항 개체가 작동하는 방식에 대한 가장 명확하고 간결한 설명 중 하나 일 것입니다. 우리는 그것을 분명하게하려고 노력했다. 그러나 쉽지 않았다 :-) –