OpenAPI 2.0의 OAuth2 authorizationUrl 잘못된 설정

OpenAPI 2.0의 OAuth2 인가 URL이 잘못 설정되어 로그인과 동의 절차가 실패할 수 있습니다.

설명

OpenAPI 2.0의 OAuth2 accessCode와 implicit 흐름은 authorizationUrl로 사용자를 로그인 및 권한 동의 화면에 연결합니다. 이 값에는 신뢰할 수 있는 인증 서버의 올바른 인가 엔드포인트를 지정해야 합니다.

잠재적 영향

잘못된 주소는 로그인과 권한 동의 실패를 일으킬 수 있습니다. 의도하지 않은 서버를 가리키면 사용자가 그 서버에 인증 정보를 입력할 위험도 있습니다.

해결 방법

authorizationUrl을 인증 제공자가 안내하는 HTTPS 인가 엔드포인트로 설정하십시오. 호스트와 경로를 확인하고 URL의 프래그먼트(# 이후 부분)를 제거하십시오. 신규 연동에는 accessCode 흐름과 PKCE를 사용하십시오.

예시

예시는 잘못된 URL을 바로잡는 부분을 보여 줍니다. 인가 코드 흐름의 tokenUrl도 같은 인증 제공자의 설정에 맞추십시오.

변경 전

yaml
swagger: "2.0"
securityDefinitions:
  petstore_auth:
    type: oauth2
    flow: accessCode
    authorizationUrl: https://api.invalid.comp@#any.com/oauth/authorize
    tokenUrl: https://api.my.company.com/oauth/token
    scopes:
      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:
      read:pets: read pets

참조