説明
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