설명
OpenAPI 2.0에서 basic, apiKey 같은 비 OAuth2 인증 방식은 보안 요구사항에 스코프를 지정하지 않습니다. 이때 security의 값에 스코프를 넣으면 명세와 인증 방식이 서로 맞지 않게 됩니다.
잠재적 영향
문서 검증이 실패하거나 API 사용자가 해당 인증 방식에 스코프 기반 권한 제어가 있다고 오해할 수 있습니다.
해결 방법
보안 방식의 type이 basic 또는 apiKey이면 security에서 해당 이름의 값은 빈 배열 []로 유지하십시오. 스코프가 필요하다면 실제 인증 서버의 설정에 맞게 OAuth2 보안 방식을 정의하고 참조하십시오.
예시
예시는 Basic 인증의 스코프 배열만 바로잡습니다. 빈 배열은 인증을 해제한다는 뜻이 아닙니다.
변경 전
yaml
swagger: "2.0"
security:
- petstore_auth:
- write
- read
securityDefinitions:
petstore_auth:
type: basic
변경 후
yaml
swagger: "2.0"
security:
- petstore_auth: []
securityDefinitions:
petstore_auth:
type: basic