OpenAPI 2.0의 잘못된 OAuth2 토큰 URL

tokenUrl은 OAuth2 제공자의 올바른 토큰 발급 주소여야 합니다.

설명

OpenAPI 2.0의 OAuth2 인증 정의에서 tokenUrl은 토큰 발급에 사용하는 주소입니다. 올바른 형식과 제공자의 실제 엔드포인트를 사용해야 하며, 토큰 요청은 HTTPS로 전송해야 합니다.

잠재적 영향

잘못된 주소는 토큰 발급 실패를 일으킬 수 있습니다. HTTP를 사용하거나 잘못된 서버로 요청을 보내면 자격 증명이나 토큰이 노출될 수 있습니다.

해결 방법

제공자의 공식 토큰 엔드포인트를 securityDefinitions의 tokenUrl에 설정하세요. HTTPS를 사용하고 URL 조각 식별자(# 뒤의 부분)는 포함하지 마세요. 클라이언트가 올바른 서버에 연결하고 인증서를 검증하는지 확인하세요.

예시

변경 전 URL은 HTTP를 사용하며 토큰 엔드포인트에 허용되지 않는 조각 식별자를 포함합니다. 변경 후에는 제공자의 HTTPS 토큰 주소를 사용합니다.

변경 전

yaml
swagger: "2.0"
securityDefinitions:
  petstore_auth:
    type: oauth2
    flow: accessCode
    authorizationUrl: https://api.my.company.com/oauth/authorize
    tokenUrl: http://example.com#@evil.com/
    scopes:
      write:pets: modify pets
      read:pets: read pets

변경 후

yaml
swagger: "2.0"
securityDefinitions:
  petstore_auth:
    type: oauth2
    flow: accessCode
    authorizationUrl: https://api.my.company.com/oauth/authorize
    tokenUrl: https://api.my.company.com/oauth/token
    scopes:
      write:pets: modify pets
      read:pets: read pets

참조