OAuth2以外の認証方式へのスコープの指定

OpenAPI 2.0のBasic認証とAPIキー認証では、セキュリティ要件のスコープ配列を空にします。

説明

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

参考資料