OpenAPI 3.0의 잘못된 OAuth2 토큰 URL

OAuth2 흐름의 tokenUrl은 제공자의 정확한 HTTPS 토큰 발급 주소여야 합니다.

설명

OpenAPI 3.0에서는 OAuth2 흐름의 tokenUrl에 토큰 발급 주소를 지정합니다. 토큰 엔드포인트가 필요한 흐름은 올바른 URL을 사용하고 제공자의 실제 토큰 서버에 HTTPS로 연결해야 합니다.

잠재적 영향

잘못된 엔드포인트는 인증에 필요한 토큰 발급을 중단시킬 수 있습니다. HTTP를 사용하거나 요청 대상이 틀리면 인증 정보나 토큰이 노출될 수 있습니다.

해결 방법

components.securitySchemes의 해당 OAuth2 흐름에 제공자의 공식 HTTPS tokenUrl을 설정하세요. URL에 조각 식별자를 넣지 말고, 클라이언트의 실제 접속 주소와 서버 인증서 검증을 확인하세요.

예시

예시는 인가 코드 흐름의 토큰 URL을 변경합니다. 변경 전 주소의 HTTP와 조각 식별자를 제공자의 올바른 HTTPS 주소로 바꿉니다.

변경 전

yaml
openapi: 3.0.0
components:
  securitySchemes:
    petstore_auth:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://api.my.company.com/oauth/authorize
          tokenUrl: http://example.com#@evil.com/
          scopes:
            read:api: read your apis

변경 후

yaml
openapi: 3.0.0
components:
  securitySchemes:
    petstore_auth:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://api.my.company.com/oauth/authorize
          tokenUrl: https://api.my.company.com/oauth/token
          scopes:
            read:api: read your apis

참조