OpenAPI 2.0のOAuth2認可URLの誤設定

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

参考資料