Swagger/OpenAPI のコード ジェネレーターを実装しています。ただし、セキュリティ要件を実装する際に問題が発生します。これらの要件は、オブジェクトのリストとして定義されます。リスト メンバーは代替 (または) であり、オブジェクト メンバーは AND です。例えば:
[ { a:[], b:{} }, { c:{}, d:{} } ]
これは (a && b) || となるはずです。( CD)
ただし、これを実装すると、実際のセキュリティ要件には副作用があるという問題に遭遇します。
- OAuth2 - 失敗した場合はリダイレクトする必要があります
- Basic – HTTP 401 Unauthorized ステータスと WWW-Authenticate ヘッダーを送信する必要があります
- ApiKey – なんでも
ただし、or
これらの副作用があるため、最初の失敗を許可することはできません。最初にすべての組み合わせを試してから、最初に戻ってヘッダー/結果コードを設定できるようにする必要があるようですか?
http://editor.swagger.io/にあるジェネレーターを見ると、ほとんどのジェネレーターはセキュリティを無視しているように見え、Java ジェネレーターはand
結合されたリストのように見えます。私の例では、 が表示されa && b && c && d
ます。
だから私の質問は:
- OpenAPI セキュリティを適切に実装するジェネレータはありますか?
- これらの副作用をどのように処理しますか?