Swagger/OpenAPI多重安全要求和副作用?

Swagger/OpenAPI多重安全要求和副作用?,swagger,openapi,Swagger,Openapi,我正在为Swagger/OpenAPI实现一个代码生成器。但是,我在实现安全需求时遇到了一个问题。这些需求被定义为对象列表。列表成员是替代项(或),对象成员是and。例如: [ { a:[], b:{} }, { c:{}, d:{} } ] 这应该导致(a和b)| |(c和d) 然而,在实现这一点时,我遇到了一个问题,即实际的安全需求有副作用: OAuth2-如果失败,必须重定向 Basic–必须发送HTTP 401未授权状态和WWW身份验证标头 阿皮奇-随便 但是,由于存在或,因此不

我正在为Swagger/OpenAPI实现一个代码生成器。但是,我在实现安全需求时遇到了一个问题。这些需求被定义为对象列表。列表成员是替代项(或),对象成员是and。例如:

 [ { a:[], b:{} }, { c:{}, d:{} } ]
这应该导致(a和b)| |(c和d)

然而,在实现这一点时,我遇到了一个问题,即实际的安全需求有副作用:

  • OAuth2-如果失败,必须重定向
  • Basic–必须发送HTTP 401未授权状态和WWW身份验证标头
  • 阿皮奇-随便
但是,由于存在
,因此不能允许第一次失败设置这些副作用。似乎您需要首先尝试所有组合,然后返回到第一个组合,并允许它设置标题/结果代码

查看上面的生成器,我发现大多数生成器似乎忽略了安全性,而Java生成器似乎是
组合列表。在我的示例中,我看到
a&&b&&c&&d

因此,我的问题是:

  • 是否有正确实现OpenAPI安全性的生成器
  • 如何处理这些副作用